正在看的db2教程是:DB2 9數(shù)據(jù)服務器發(fā)展3部曲。很難想象,現(xiàn)在還有什么應用跟數(shù)據(jù)庫無關。就連微軟的下一代操作系統(tǒng)Vista,也要用其數(shù)據(jù)庫來組織其新式的文件系統(tǒng)。可以說,經(jīng)過多年的發(fā)展,數(shù)據(jù)已經(jīng)成為整個信息化進程和下一階段發(fā)展的最可寶貴的資源,而保存和管理數(shù)據(jù)資源的數(shù)據(jù)庫,其技術的發(fā)展和進步,就成為了最值得關心和重視的問題。從層次型數(shù)據(jù)庫到管理關系型數(shù)據(jù)庫,乃至目前的同時支持關系型和XML的混合型數(shù)據(jù)庫DB2 9,數(shù)據(jù)庫管理技術在其發(fā)展的將近40年的歷程中,大致經(jīng)歷了以上3個階段。
IMS:早期的層次數(shù)據(jù)庫
數(shù)據(jù)庫管理系統(tǒng)出現(xiàn)以前的數(shù)據(jù)管理非常原始簡陋,數(shù)據(jù)處理依靠穿孔卡片來進行時,彼時的數(shù)據(jù)管理,只是對卡片進行物理的存儲和處理。數(shù)據(jù)的存儲和管理極其麻煩和復雜,根本無法體現(xiàn)出高效性。在1956年IBM生產(chǎn)出第一個磁盤驅(qū)動器(Model 305 RAMAC)之后,引發(fā)了數(shù)據(jù)管理的革命,并且因此得以隨機存儲數(shù)據(jù)。 此后,出現(xiàn)了最早版本的數(shù)據(jù)庫,即網(wǎng)狀數(shù)據(jù)庫管理系統(tǒng)(DBMS),由通用電氣公司1961年開發(fā)成功,其IDS(Integrated DataStore,集成數(shù)據(jù)存儲)是世界上第一個網(wǎng)狀DBMS,也是第一個DBMS。但是它只能運行于通用電氣的主機上,且數(shù)據(jù)庫只有一個文件,所有的表必須通過手工編碼生成,有著極大的局限性。 為此,IBM開發(fā)的層次數(shù)據(jù)庫IMS(Information Management System,信息管理系統(tǒng))受到了極大的歡迎,成為了最著名也是最典型的層次型數(shù)據(jù)庫管理系統(tǒng)。
1966年,IBM與其客戶(北美洛克維爾公司和卡特彼勒公司)合作,共同開發(fā)新型數(shù)據(jù)庫,用于幫助NASA管理宏大的阿波羅計劃中的繁瑣資料,并且在1968年由IBM的工程師完成。1969年,該數(shù)據(jù)庫作為IBM的產(chǎn)品發(fā)布時被更名為“IMS(Information Management System,信息管理系統(tǒng))。在1969年,NASA成功發(fā)射了阿波羅11號實現(xiàn)了人類首次登月之后,NASA繼續(xù)在其航天飛機計劃中使用著該產(chǎn)品。直至今日,該數(shù)據(jù)庫一直有著用武之地,在如今的互聯(lián)網(wǎng)應用連接、商務智能等應用中找到了全新的角色。
RDBMS:關系數(shù)據(jù)庫的出現(xiàn)
雖然層次數(shù)據(jù)庫已經(jīng)可以很好地解決數(shù)據(jù)集中和共享的問題,但是其在數(shù)據(jù)獨立性和抽象級別上依然有著欠缺。 還好,就在1970年,IBM研究員E.F.Codd提出了關系模型的概念,由此奠定了關系模型的理論基礎。他所發(fā)表的論文“A Relational Model of Data for Large Shared Data Banks”也被認為是數(shù)據(jù)庫系統(tǒng)歷史上具備劃時代意義的里程碑。在經(jīng)過不斷的發(fā)展和論證之后,最終使得更具備優(yōu)勢的關系型數(shù)據(jù)庫成為了市場的主流。隨后,在1974年,IBM公司的Ray Boyce和Don Chamberlin提出了SQL語言,它實現(xiàn)了數(shù)據(jù)庫生命周期中的全部操作,為關系數(shù)據(jù)庫奠定了另一塊里程碑。
在1979年,IBM完成了第一個實現(xiàn)SQL的DBMS。在20世紀的80年代早期,IBM利用了RDBMS和SQL的第二階段的技術,創(chuàng)建了新型的數(shù)據(jù)庫產(chǎn)品,并將其命名為DB2,也就是擁有第二代技術的數(shù)據(jù)庫產(chǎn)品。而在過去的歲月中,DB2已經(jīng)從重要的大型機產(chǎn)品發(fā)展成為可在各種服務器平臺上運行的產(chǎn)品。尤其是在System 390(即目前所稱的System z)中,DB2已經(jīng)成為分布式計算的核心。
盡管不斷地有同時期廠商的數(shù)據(jù)庫產(chǎn)品的競爭,但是DB2依然在高端企業(yè)應用市場受到了廣泛的應用及好評。經(jīng)過多年的發(fā)展和進步,在System z和安裝了Linux系統(tǒng)的英特爾平臺上,已經(jīng)運行有近50萬臺的DB2數(shù)據(jù)服務器。
IBM DB2 9:首款混合型的數(shù)據(jù)服務器
隨著信息化進程的發(fā)展和企業(yè)間、企業(yè)內(nèi)部信息交換的需要,XML作為標準化的數(shù)據(jù)存儲格式,其數(shù)據(jù)量正面臨著巨大的增長。而事實上,每個行業(yè)都在實施著XML數(shù)據(jù)標準,新版的微軟Office軟件也將以XML格式存儲文檔。此外,正有越來越多的公司開始轉(zhuǎn)向使用XML技術,以便在不同的系統(tǒng)和應用程序之間交換數(shù)據(jù)并適應快速變化的環(huán)境,從而幫助他們逐步實現(xiàn)SOA。結合了關系型數(shù)據(jù)庫和層次型數(shù)據(jù)庫二者特點的DB2 9(代號Viper)引入了另外一種可能-混合型數(shù)據(jù)庫,該數(shù)據(jù)庫可以非常好地支持XML數(shù)據(jù),同時也對其他技術包括SQL、表格數(shù)據(jù)結構和各種DBMS特性的支持依然存在。
在此之前,文件系統(tǒng)可以應付簡單的任務,但是在需要處理大量文檔時它們就表現(xiàn)不佳。并發(fā)性、恢復、安全和可用性等問題變得難以管理。盡管商業(yè)關系數(shù)據(jù)庫管理系統(tǒng)(DBMS)解決了這些問題,但是在其他方面有所欠缺。DBMS通常只是提供兩種基本的數(shù)據(jù)庫設計選項――將每個 XML 文檔完整地存儲為一個大型對象,或者將它“撕開”,分散存儲在多個表的多個列中。這樣不僅無法完整體現(xiàn)XML的層次結構,而且效率低下、不夠靈活。
此外,純粹的XML DBMS 在IT基礎設施中引入了一種新型的環(huán)境,但是這樣的環(huán)境還沒有經(jīng)過考驗,其集成能力、所需要的人員技能以及未來的生命力也都不確定。因此,必須找尋可以高效共享、搜索和管理公司大量XML文檔和消息的系統(tǒng),以便幫助企業(yè)減少存儲和使用XML數(shù)據(jù)所需要的時間及工作量,以期減少應用開發(fā)費用且提高業(yè)務靈活性。混合型數(shù)據(jù)庫DB2 9正好適應了這樣的需要。通過DB2 9,用戶可以使用同一個數(shù)據(jù)庫對象同時管理“傳統(tǒng)的”SQL數(shù)據(jù)和XML文檔,甚至,還可以編寫一個查詢同時搜索和處理這兩種數(shù)據(jù)形式。
具有如此特點的DB2,是業(yè)界第一款也是惟一一款可以使用行業(yè)標準接口的關系數(shù)據(jù)來管理pureXML的數(shù)據(jù)庫,它在三個領域具備了獨到的創(chuàng)新:XML數(shù)據(jù)管理、數(shù)據(jù)壓縮和SAP優(yōu)化。其中,最重要的功能即XML數(shù)據(jù)管理,它使用了IBM的“pureXML”解決方案來管理以XML格式存儲的數(shù)據(jù)。
這意味著DB2 9可以提供XML數(shù)據(jù)的“原生態(tài)”存儲,而無需將數(shù)據(jù)轉(zhuǎn)化成行列格式,更無需將其作為大型對象來存儲。為實現(xiàn)這樣的功能,IBM對DB2進行了擴展,使DB2 9包含了如下的新技術:
新的存儲技術,可以高效地管理 XML 文檔中固有的層次結構。
新的索引技術,可以提高在 XML 文檔之間和內(nèi)部進行搜索的速度。
新的查詢語言支持(對于 XQuery)、
新的圖形化查詢構建器(對于 XQuery)和新的查詢優(yōu)化技術。
根據(jù)用戶提供的模式檢驗 XML 數(shù)據(jù)的能力。
新的管理功能,包括對關鍵數(shù)據(jù)庫工具的擴展。
與流行的應用程序編程接口(API)的集成。
而通過應用壓縮技術,DB2 9在客戶的實際測試中,可以為客戶節(jié)約40~80%的存儲需求,同時能夠維護甚至改善應用程序的性能。基于DB2 9的革命性的創(chuàng)新與性能,SAP也為使用mySAP商業(yè)應用程序的中小型客戶選用了DB2 9作為數(shù)據(jù)服務器。