- 新型數據庫系統:原理、架構與實踐
- 金培權 趙旭劍編著
- 3179字
- 2024-06-06 18:41:11
1.2 數據庫技術的發展回顧
數據庫技術是數據管理技術一個發展階段的產物。在數據庫技術出現之前,人們普遍采用文件系統管理數據。但是,隨著數據規模的不斷增長以及數據共享需求的提出,文件系統方法越來越難以適應數據管理的要求。另外,數據庫技術自20世紀60年代開始發展以來,經歷了網狀數據庫、層次數據庫、關系數據庫、對象/對象關系數據庫等發展階段,而且即使到了今天,XML數據庫、NoSQL數據庫等技術還在不斷地發展。了解數據庫技術的發展歷史,縱觀整個數據庫領域在最近幾十年里的發展歷程,會使我們對當今一些新的數據庫技術的背景有更深入的理解。
1.2.1 數據管理技術的發展歷程
數據庫技術從概念上講只是數據管理技術的一種。因為數據庫技術在數據管理方面具有高效、一致等優點,所以得到了廣泛應用。要了解數據庫技術的發展歷程,首先應當對整個數據管理技術的發展歷程有所認識。
數據管理技術的發展歷程大致可分為三個階段,即人工管理階段、文件系統階段和數據庫管理階段。
1.人工管理階段
20世紀50年代中期以前為人工管理階段。當時計算機剛剛面世不久,處理能力還非常弱,數據管理能力也非常有限。
人工管理階段的數據管理具有以下的特點(見圖1-6):
1)數據不保存在計算機中。此時還沒有出現磁盤這樣的二級存儲概念,數據都是純二進制數,并且以打孔紙帶的形式表示。
2)應用程序自己管理數據。根據應用程序的要求要準備打孔紙帶形式的數據,這些數據只能被該應用程序使用。不同的應用程序需要準備不同的數據。
3)數據無共享。
4)數據與應用程序之間不具有獨立性。如果應用程序發生修改,原先的數據一般不能繼續使用,需要再重新準備打孔紙帶。同理,如果數據修改了,應用程序也同樣無法處理。
5)只有程序的概念,沒有文件的概念。此時還沒有文件存儲的概念。

圖1-6 人工管理階段的數據管理特點
2.文件系統階段
在20世紀50年代中期到60年代中期,出現了文件系統形式的數據管理技術。它主要是隨著操作系統技術的發展而出現的。
這一階段數據的主要特點是以文件形式保存和管理。這一階段數據管理的主要特點可歸納為以下幾點(見圖1-7):
1)數據以文件形式存在,由文件系統管理。
2)數據可以長期保存在磁盤上。
3)數據共享性差,冗余大。冗余是由于必須建立不同的文件以滿足不同的應用。例如,在一個教學信息管理系統中,教師數據同時被選課、科研管理、人事管理等應用使用,在文件系統階段,只能將教師數據文件復制到這些不同的應用中。這樣一方面帶來了數據的冗余存儲,另一方面如果某些教師數據發生了變化,則很容易出現數據的不一致。
4)數據與應用程序之間具有一定的獨立性,但非常有限。應用程序通過文件名即可訪問數據,但文件結構改變時必須修改程序。

圖1-7 文件系統階段的數據管理特點
3.數據庫管理階段
20世紀60年代末開始,數據管理進入了數據庫管理階段。這一階段引入了DBMS實現數據管理(見圖1-8),其主要特點如下:
1)數據結構化。DBMS采用了數據模型來組織數據,不僅可以表示數據,還可以表示數據間的聯系。
2)高共享,低冗余。應用程序之間可以高度共享數據,并且可以保證數據存儲的最小冗余。
3)數據獨立性高。數據的修改不會影響應用程序的運行,具有高度的數據獨立性。
4)數據由DBMS統一控制,應用程序中所有的數據都由DBMS負責存取。

圖1-8 數據庫管理階段的數據管理特點
1.2.2 數據庫技術的發展歷程
數據庫技術從20世紀60年代末開始發展,至今仍是計算機領域中一個非?;钴S的研究方向。下面的時間表簡單地總結了數據庫技術發展歷程中的一些里程碑。
1)1961年,通用電器(GE)的Charles W.Bachman設計了歷史上第一個DBMS——網狀數據庫系統IDS(integrated data store)。Bachman本身是一名工業界的研究人員,為了解決GE項目中的復雜數據管理問題而設計了IDS,開創了數據庫這一新的研究領域。Bachman本人也因為在網狀數據庫方面的貢獻于1973年獲得了計算機領域的最高獎項——圖靈獎。他是第一位獲得圖靈獎的數據庫研究人員。
2)1968年,IBM設計了層次數據庫系統IMS(information management system)。
3)1969年,CODASYL(數據系統語言協會)的DBTG(database task group,數據庫任務組)發表了網狀數據模型報告,奠定了網狀數據庫技術。層次數據庫技術和網狀數據庫技術一般被合稱為第一代數據庫技術。
4)1970年,IBM的Edgar F.Codd在Communications of ACM上發表了論文“A Relational Model of Data for Large Shared Data Banks”,提出了關系數據模型的概念,奠定了關系數據庫理論基礎。關系數據模型采用了一種簡單、高效的二維表形式來組織數據,從而開創了數據庫技術的新紀元。Edgar F.Codd本人也因為在關系數據模型方面的貢獻于1981年獲得了圖靈獎。關系數據庫技術也被稱為第二代數據庫技術。
5)1973年—1976年,Edgar F.Codd牽頭設計了System R。System R是數據庫歷史上第一個關系數據庫原型系統,其字母R是Relation的首字母。之所以稱之為原型系統而不是產品,是因為System R開發完成后并沒有及時進行商業化,從而導致Oracle后來居上。在這期間,加州大學伯克利分校的Michael Stonebraker設計了Ingres。Ingres是目前開源DBMS PostgreSQL的前身。在20世紀70年代,Ingres是少數幾個能和IBM的IMS競爭的產品。
6)1974年,IBM的Ray Boyce和Don Chamberlin設計了SQL語言。SQL語言最早是作為System R的數據庫語言而設計的。經過Boyce和Chamberlin的不斷修改和完善,最終形成了現在流行的SQL語言。目前,SQL語言已經成為ISO國際標準。前面提到的Ingres就是因為沒有在其系統中支持SQL語言導致了最終沒落。
7)1976年,IBM的Jim Gray提出了一致性、鎖粒度等設計,奠定了事務處理基礎。Jim Gray本人也因為在事務處理方面的貢獻獲得了1998年的圖靈獎。這是第三位獲得該獎項的數據庫研究人員。
8)1977年,Larry Ellison創建了Oracle公司,1979年發布Oracle 2.0,1986年Oracle上市。Oracle公司的創建和發展是一個傳奇。Larry Ellison在執行美國國防部的一個項目時遇到了數據管理方面的問題,后來他讀到了Edgar F.Codd發表的關于System R的論文,于是基于System R的思想他很快地實現了一個數據管理系統,并且將其商業化。在后面的發展中,Oracle很果斷地采取了兼容SQL的做法,使其逐步占領了數據庫領域的龍頭地位。Oracle的發展對數據庫技術的商業化起到了十分重要的作用。
9)1983年,IBM發布DB2。Oracle在商業領域的成功,讓IBM意識到了數據庫技術的發展前景。憑借其雄厚的技術實力,IBM馬上推出了商業化DBMS DB2。這一產品至今仍在市場上占據重要地位。
10)1985年,面向對象數據庫技術被提出。面向對象數據庫技術是隨著面向對象程序設計技術(object oriented programming,OOP)出現的,它實質上是持久化的OOP。
11)1987年,Sybase 1.0發布。
12)1990年,Michael Stonebraker發表“第三代數據庫系統宣言”,提出了對象關系數據模型。面向對象數據庫及對象關系數據庫技術標志著第三代數據庫技術的誕生。但從商業應用上看,第三代數據庫技術還遠遠趕不上關系數據庫技術。
13)1987年—1994年,Sybase和Microsoft合作,發布了Sybase SQL Server 4.2。后合作破裂,Sybase繼續發布了Sybase ASE 11.0。
14)1996年,Microsoft發布了Microsoft SQL Server 6.5。Microsoft SQL Server是很特殊的一個產品,其版本號直接從6.5開始。因為Microsoft和Sybase合作破裂后雙方都擁有了Sybase SQL Server的源碼,但SQL Server這一名稱從此開始屬于微軟,而Sybase則啟用ASE作為產品名稱。
15)1996年,開源的MySQL正式發布。MySQL后來被Oracle收購,目前已經是數據庫領域影響較大的DBMS之一。按照最新的DB-Engines排名,其流行度僅次于Oracle,排在全世界第二位。
16)1998年,出現了半結構化數據模型(XML 1.0)。由于網絡數據管理需求的不斷增長,XML數據管理技術在近年受到了重視,至今仍是數據庫領域的一個研究熱點。曾經有人將XML數據庫技術命名為“第四代數據庫技術”,但沒有得到認可。
17)2005年,Michael Stonebraker等人開發完成C-Store。C-Store是列存儲的DBMS(column-based DBMS),它完全拋棄了傳統基于行記錄的數據庫存儲方式,開創了一個全新的研究方向。Stonebraker也因為在數據庫系統創新和應用方面的貢獻獲得了2015年的圖靈獎。
18)2007年,NoSQL(非關系數據庫)在Web領域大行其道。傳統的SQL數據庫技術經過了幾十年的發展和應用,在新的應用領域如Web、云計算等面臨著一些數據表示、查詢處理方面的新問題。NoSQL數據庫技術被提出并且得到了多個互聯網企業的支持,包括Amazon(Dynamo)、Google(BigTable)、Facebook(Cassandra)等。目前,NoSQL在互聯網領域得到了廣泛的應用,但在傳統領域如銀行、證券、政府部門等還依然難以替代關系數據庫技術。
- 在你身邊為你設計Ⅲ:騰訊服務設計思維與實戰
- Google Visualization API Essentials
- Visual Studio 2015 Cookbook(Second Edition)
- 分布式數據庫系統:大數據時代新型數據庫技術(第3版)
- 大話Oracle Grid:云時代的RAC
- 基于OPAC日志的高校圖書館用戶信息需求與檢索行為研究
- Oracle RAC日記
- 中國云存儲發展報告
- 數據應用工程:方法論與實踐
- 數字化轉型方法論:落地路徑與數據中臺
- SQL應用開發參考手冊
- 產品經理數據修煉30問
- 大數據原理與技術
- 零基礎學SQL
- Continuous Delivery and DevOps:A Quickstart Guide