【資料庫系統】資料庫系統概論====第十三章 資料庫技術發展
【資料庫系統】資料庫系統概論====第十三章 資料庫技術發展
13.1資料庫技術發展概述
資料庫技術產生於20世紀60年代中期,發展了以資料建模和DBMS核心技術為主,內容豐富的一門學科,帶動了一個巨大的軟體產業。
資料庫技術是電腦科學技術中發展最快的領域之一,也是應用最廣的技術之一。
下圖通過一個三維空間的檢視從資料模型、新技術內容、應用領域3個方面,描述了資料庫系統的發展、特點和相互關係。
13.2資料庫發展的3個階段
按照資料模型的進展,資料庫技術可分為3個發展階段:
第一代的網狀、層次資料庫系統。
第二代的關聯式資料庫系統。
第三代資料庫系統----資料庫大家族。
13.2.1第一代資料庫系統
第一代資料庫系統指層次和網狀資料庫系統,是格式化模型,代表系統:
(1)IMS:1969年IBM公司研製的層次模型的資料庫管理系統。
(2)DBTG報告:20世紀60年代末70年代初由美國資料庫系統語言研究會(CODASYL)下屬的資料庫任務組(DBTG)提出,確定並建立了資料庫系統的許多概念、方法和技術,該報告基於網狀結構的,它是資料庫網狀模型的典型代表。
層次資料庫系統與網狀資料庫系統的共同特點:
(1)支援三級模式的體系結構。
(2)用存取路徑來表示資料之間的聯絡。
(3)獨立的資料定義語言。
(4)導航的資料操縱語言。
導航的資料操縱語言:就是一次一個記錄的導航式的過程化語言,使用者不僅要了解“幹什麼”,而且要指出“怎麼幹”。
優點:存取效率高。
缺點:程式設計繁瑣。
13.2.2第二代資料庫系統
第二代資料庫系統指支援關係資料模型的關聯式資料庫系統。
1970年,E.F.Code發表《大小共享資料庫資料的關係模型》論文,提出了資料庫的關係模型,為關聯式資料庫技術奠定理論基礎。
典型代表:
IBM San Jose研究室開發的System R。
Berkeley大學研製的INGRES。
關聯式資料庫特點:模型簡單清晰、理論基礎好、資料庫語言非過程化、資料獨立性強和標準化等特色。
這一時期的主要成果:
(1)奠定了關係模型的理論基礎,給出了人們一致接收的關係模型的規範說明。
(2)研究了關係資料語言,包括關係代數、關係演算、SQL及QBE等,確定了SQL為關聯式資料庫語言標準。
(3)研製了大量的RDBMS原型,攻克了系統實現中查詢優化、併發控制、故障恢復等一系列關鍵技術。
13.2.3新一代資料庫系統
新一代資料庫系統具有廣泛的範圍:
(1)基於物件關係(OR)資料模型,分散式、客戶機-伺服器體系結構。
(2)混合式體系結構,在對稱多處理結構(SMP)、大規模並行處理(MPP)並行機上執行的並行資料庫。
(3)應用於某一領域(工程、統計、地理資訊系統)的工程資料庫、統計資料庫、空間資料庫等。
1990年高階DBMS功能委員會發表了《第三代資料庫系統宣言》的文章,提出了第三代DBMS應具有的3個基本特徵:
(1)第三代資料庫系統應支援資料管理、物件管理和知識管理。
(2)第三代資料庫系統必須保持或繼承第二代資料庫系統的技術。
(3)第三代資料庫系統必須對其他系統開發。
13.3資料庫系統發展的特點
13.3.1資料模型的發展
關係模型的提出是資料庫發展史上有劃時代意義的重大事件,關係理論研究和關聯式資料庫管理資訊系統研製的巨大成功促進了關聯式資料庫的發展,使關係資料模型成為具有統治地位的資料模型。
隨著資料庫應用領域的擴充套件和資料庫、物件的多樣化,關聯式資料庫暴露了許多弱點,比如對聲音、影像、視訊等資料型別處理能力差等。為此提出並發展了許多新的資料模型。
- 物件導向資料模型
將語義資料模型和麵向物件程式設計方法結合,用物件導向觀點來描述現實世界實體(物件)的邏輯組織、物件間限制、聯絡等的模型。構成了物件導向資料模型(00模型)的基礎,主要包括以下概念:
(1)現實世界中的任何事務都被建模為物件。每個物件有唯一的物件標識(OID)。
(2)物件是其狀態和行為的封裝,其中狀態時物件屬性值的集合,行為是變更物件狀態的方法集合。
(3)具有相同屬性和方法的物件的全體構成了類,類中的物件成為類的例項。
(4)類的屬性定義域也可以是類,構成了類的複合,類具有繼承性,被繼承的類稱為超類,繼承類稱為子類。類與類之間的複合與繼承關係形成了有向無環圖,稱為類層次。
(5)物件是被封裝起來的,它的狀態和行為在物件外部是不可見的,只能通過傳遞訊息對物件進行操作。
物件導向資料庫的研究始於20世紀80年代,主要的產品有Object Store、O2、ONTOS等。由於物件導向資料庫的操作語言複雜,企業更換成本高,最終沒有獲得成功。
物件關聯式資料庫系統(ORDBS)是關聯式資料庫與物件導向資料庫的結合。SQL99標準提供了物件導向的功能標準。目前所採用的術語、語言語法、擴充套件的功能等不盡相同。 - XML資料模型
隨著網際網路的迅速發展,可擴充套件標記語言XML已成為網上資料交換的標準和資料 界的研究熱點,因此提出了XML資料模型。
XML資料模型由表示XML文件的結點標記樹、結點標記樹上的操作和語義約束組成。
XML資料管理的實現方式可以採用純XML資料庫系統的方式。目前,很多商業關聯式資料庫是通過擴充套件關係代數來支援XML資料的管理。 - RDF資料模型
如果網路上的資源在建立之初就使用標準的後設資料來描述,就可以省去很多麻煩,謂詞提出了資源描述框架(RDF),用它來描述和註解全球資訊網中的資源,並向計算機系統提供理解和交換資料的手段。
RDF是一種用於描述Web資源的標記語言,其結構是(主語,謂語,賓語)構成的三元組。
主語:網頁的URL。
謂詞:屬性,如頁面標題、作者等。
賓語:具體的值。
RDF模型三元組描述如下:
R:給定一個URL集合,B:空節點集合,L:文字描述集合。
RDF模型三元組t(s,p,o),其中s∈R∪B,p∈R,o∈R∪B∪L
s稱為主語、資源或主體,p稱為謂詞,o稱為賓語、屬性或客體。
目前,SPARQL是被廣泛採用的一種RDF上的查詢語言。它是由W3C提出的基於RDF資料的查詢標準語言。它共支援4種查詢方式,分別SELECT、CONSTRUCT、DESCRIBE、ASK。
nSPARQL、SPARQL-DL等是SPARQL的改進。
13.3.2資料庫技術與相關技術相結合
資料庫技術與其他學科的內容相結合,出現的各種新型的資料庫系統:
與分散式技術相結合,出現分散式資料庫系統。
與並行處理技術相結合,出現並行資料庫系統。
與人工智慧技術相結合,出現知識庫系統和主動資料庫系統。
與多媒體技術相結合,出現對媒體資料庫系統。
與模糊技術相結合,出現模糊資料庫系統等。
與移動技術相結合,出現移動資料庫系統等。
與Web技術相結合,出現Web資料庫等。
- 分散式資料庫系統
分散式資料庫系統是由一組資料組成,這組資料分佈在計算機網路的不同計算機上,網路中的每個結點具有獨立處理的能力(稱為場地自治),可以執行區域性應用,也可以通過網路通訊系統執行全域性應用。
說明:
①本地自治性是指區域性場地的資料庫系統自己決定本地資料庫的設計、使用以及與其他節點資料庫的通訊。
②場地自治性以及自治場地之間具有協作性。
③分散式資料庫系統具有自己的性質和特徵,不是簡單的把集中式資料庫聯網就能實現的。
分散式資料庫系統的組成:
分散式資料庫系統在集中式資料庫系統的組成基礎上增加了三部分內容:DDBMS、全域性字典和分佈目錄、網路訪問程式。
20世紀80年代是分散式資料庫系統研究的一個高峰期,具有代表性的有SDD-1、POREL、R*、分散式INGRES系統、SIRIUS計劃和ADA-DDM系統等。
近年來分散式資料庫系統遇到新挑戰,根據CAP理論,分散式系統中,一致性、系統可用性、網路分割槽容錯性三者不可兼得。分佈資料庫管理在Web海量資料搜尋和資料分析中適當減低資料一致性的要求。因此,分散式資料庫系統已進入大資料時代的大規模分佈處理。 - 並行資料庫系統
並行資料庫系統是在並行機上執行的具有並行處理能力的資料庫系統。是資料庫技術與平行計算技術相結合的產物。
並行資料庫系統的發展階段:
20世紀70年代:資料庫機的研究,希望通過硬體的研究實現關聯式資料庫的某些功能。最終沒能成功。
20世紀80年代:通用並行機的研究,重點研究並行資料庫的物理組織、並行操作演算法、查詢優化和排程策略。
20世紀90年代:隨著處理器、儲存、網路等技術的發展,開展了並行資料在時間和空間並行性的研究。
並行資料庫圍繞關聯式資料庫進行了以下方面的研究:
(1)實現資料庫查詢並行化的資料流方法
關係資料是集合操作,許多情況下可分解為一系列對子集的操作,具有潛在的並行性。
(2)並行資料庫的物理組織
把關係劃分為多個子集並將其分佈在多個處理節點上(稱為資料庫劃分),發揮I/O的並行性。資料庫劃分的主要方法有一維資料劃分、多維資料劃分和傳統物理儲存結構的並行化等。
(3)新的並行資料操作演算法實現查詢並行處理可以充分發揮多處理機並行性,極大提高系統查詢效率和能力。
(4)查詢優化
查詢優化是並行資料庫的重要組成部分。研究人員研究了啟發式的方法對並行執行計劃空間做裁剪,減少搜尋空間的代價。
比較著名的並行資料庫系統又Arber、Bubba、Gamma、XPRS、Teradata等。
13.3.3面向領域的資料庫新技術
資料庫技術被應用到特定的領域中,出現了資料倉儲、工程資料庫、統計資料庫、空間資料庫、科學資料庫等多種資料庫,使資料庫領域的應用範圍不斷擴大。
- 工程資料庫
工程資料庫(EDB)是一種能儲存和管理各種工程設計圖形和工程設計文件,並能為工程設計提供各種服務的資料庫。
工程資料庫又稱CAD資料庫、設計資料庫、技術資料庫、設計自動化資料庫等。主要用於CAD/CAM/CIM、地理資訊處理、軍事指揮、控制、通訊等工程應用。
工程資料庫可以在關聯式資料庫系統的基礎上擴充改進或者開發新的資料庫管理系統。
工程資料庫的主要功能:
(1)複雜物件(如圖形資料、工程設計文件)的表示和處理;
(2)可擴充套件的資料型別;
(3)支援複雜多樣的工程資料的儲存和整合管理;
(4)支援變長結構資料實體的處理;
(5)支援工程長事務和巢狀事務的併發控制和恢復;
(6)支援設計過程中多個不同資料版本的儲存和管理;
(7)支援模式的動態修改和擴充套件;
(8)支援多種工程應用程式等。 - 空間資料庫
空間資料庫用於表示空間物體的位置、形狀、大小和分佈特徵等諸方面資訊的資料,適用於描述所有二維、三維和多維分佈的關於區域的現象。
特點:
(1)包括物體本身的空間位置及狀態資訊。
(2)包括表示物體的空間關係(即拓撲關係)的資訊。
空間資料庫(SDBS):是描述、儲存和處理空間資料及其屬性資料的資料庫系統。其作用是有效的利用衛星遙感資源迅速繪製出各種經濟專題地圖。
空間資料庫研究的主要內容:
(1)空間資料模型,描述空間實體關係的資料模型。
(2)空間資料查詢,包括了位置查詢、空間關係查詢和屬性查詢。
(3)空間資料庫系統,利用現有的關聯式資料庫管理系統擴充建立。上層是各種空間應用,如GIS、CAD應用等,中間層是空間資料庫系統,下層是成熟的資料庫管理系統。
(4)查詢語言,大多數是以SQL語言為基礎,增加相應的函式實現對空間物件和空間關係的查詢。
13.4資料庫技術發展趨勢
13.4.1資料管理技術面臨的挑戰
推動資料庫發展的3個主要動力是資料、應用需求、計算機相關技術。
- 資料的變化
①資料海量化,要求系統具有高度的可擴充套件性和可伸縮性。
②資料型別越來越多樣和異構。
③圖形影像、視訊音訊等視覺聽覺資料蘊含在流資料中,並存在大量冗餘和噪聲。 - 應用和需求發展
①資料處理和應用的領域已從OLTP為代表的事務處理擴充套件到OLAP分析處理。
②從對資料倉儲中結構化的海量歷史資料的多維分析發展到對海量非結構化資料的複雜分析和深度挖掘。
③計算機硬體的迅速發展,要求利用新的硬體技術滿足海量資料儲存和管理的需求。
13.4.2資料管理技術的發展與展望
大資料給資料管理、資料處理和資料分析提出了全面挑戰。支援海量資料管理的系統應該具有:高可擴充套件性、高效能、容錯性、可伸縮性等。
NoSQL是指非關係型的、分散式的、不保證滿足ACID特性的一類資料管理系統。
NoSQL技術的特點:
(1)對資料進行劃分。通過大量節點的並行處理獲得高效能。
(2)放鬆對資料的ACID一致性約束,允許資料暫時出現不一致情況,接受最終一致性。
(3)對各個資料分割槽進行備份,應對節點可能的失敗。
NoSQL技術依據儲存模型分為:基於Key-Value儲存模型、基於Column Family儲存模型、基於文件模型和基於圖模型。
2004年Google首次釋出了基於NoSQL技術的MapReduce技術,該技術框架包含:高度容錯的分散式檔案系統、並行程式設計模型和並行執行引擎。
傳統關聯式資料庫系統提供了高度一致性、精確性、系統可恢復性等關鍵特性,仍然是事務處理系統的核心引擎,無可替代。
13.5小結
資料庫系統已經發展成為一個大家族。本章以資料模型、新技術內容、應用領域為三條主線,概要回顧了資料庫發展三個階段。
資料庫的技術核心是資料管理。隨著大資料時代的到來、新應用領域的需求不斷增加,硬體平臺飛速發展,各類資料庫將不斷湧現。
相關文章
- 資料庫概論 (一)資料庫概念資料庫
- 資料庫系統概論 第一章 緒論資料庫
- 實驗課程名稱:資料庫系統概論資料庫
- 資料庫與資料庫管理系統概述資料庫
- 資料庫系統概述之國產資料庫資料庫
- 資料庫系統架構討論資料庫架構
- 《資料庫系統概論》 (第4版) 個人筆記資料庫筆記
- 《資料庫系統概論》第一章筆記資料庫筆記
- 資料庫系統概述資料庫
- 資料庫系統概述之資料庫最佳化資料庫
- 王珊資料庫系統概論第5版視訊教材資料庫
- 分散式系統技術:儲存之資料庫分散式資料庫
- 資料庫事務概論資料庫
- 【資料庫資料恢復】linux系統下MYSQL資料庫資料恢復案例資料庫資料恢復LinuxMySql
- 從資料庫發展史看資料庫未來技術趨勢資料庫
- 【MySQL資料庫】認識資料庫+環境搭建--------Windows系統MySql資料庫Windows
- 資料庫系統原理-關聯式資料庫的規範化理論總結資料庫
- 【Web總結】資料庫系統Web資料庫
- MySQL資料庫審計系統MySql資料庫
- Greenplum資料庫系統架構資料庫架構
- 資料庫系統設計概述資料庫
- 資料庫系統 空值 null資料庫Null
- 資料庫系統 防止駭客入侵之技術綜述資料庫
- 天雲資料:Hubble資料庫系統自主研發率99.62%,是真正的信創資料庫資料庫
- 分散式資料庫技術論壇分散式資料庫
- 資料庫應用系統中的資料庫完整性(上)KP資料庫
- 七、資料庫技術的發展及新技術資料庫
- 大資料技術之大資料概論大資料
- 分散式資料庫系統(DDBS) 概述分散式資料庫
- 資料庫:系統設計的核心資料庫
- Linux系統下資料庫有哪些?Linux資料庫
- 資料庫系統原理-問題集合資料庫
- 資料庫系統設計:分割槽資料庫
- 易學筆記-系統分析師考試-第5章 資料庫系統/5.1 資料庫模式/筆記資料庫模式
- Java技術在多資料庫系統中的應用研究Java資料庫
- 【資料庫資料恢復】HP-UX系統ORACLE資料庫被誤刪除的資料恢復資料庫資料恢復UXOracle
- 【資料庫資料恢復】EXT3檔案系統下MYSQL資料庫恢復案例資料庫資料恢復MySql
- 概覽資料庫索引資料庫索引