這是一篇舊文,摘自10年前在CSDN上的一些摘要。錄于此,以紀念為關(guān)系數(shù)據(jù)庫作出重大貢獻的“大俠”及相關(guān)公司。
市場上目前流行多種關(guān)系型數(shù)據(jù)庫,我們在學(xué)習(xí)技術(shù)的同時,也應(yīng)該對她們的發(fā)展歷史有所了解,這對我們?nèi)蘸蟀盐招录夹g(shù)的方向能起到關(guān)鍵性的指引作用,或許你還能從本文中找到比技術(shù)更重要的東西。
在文章開始前,首先要介紹幾位對關(guān)系型數(shù)據(jù)庫發(fā)展起決定性作用的人,盡管我是一個歷史唯物主義者,但無法改變我對這些前輩的景仰之情。
--Edgar Frank Codd:關(guān)系數(shù)據(jù)庫之父。
--Don Chamberlin:SQL之父。SQL 語言的創(chuàng)造者之一,也是 XQuery 語言的創(chuàng)造者之一。
--Donald J. Haderle:DB2之父,IBM CTO、副總裁。
--Larry Ellison:Oracle公司創(chuàng)始人,世界第二大軟件公司的CEO。
--Mark Hoffman:SYBASE公司創(chuàng)始人。
--Bob Epstein:SYBASE公司創(chuàng)始人。
--Mitchell E. Kertzman:PowerSoft公司創(chuàng)始人,后為SYBASE公司并購。
1970年IBM研究員Edgar Frank Codd發(fā)表了業(yè)界第一篇關(guān)于關(guān)系數(shù)據(jù)庫理論的論文《A Relational Model of Data for Large Shared Data Banks》,首次提出了關(guān)系模型的概念。后來Codd又陸續(xù)發(fā)表多篇文章,奠定了關(guān)系數(shù)據(jù)庫的基礎(chǔ)。關(guān)系模型有嚴格的數(shù)學(xué)基礎(chǔ),抽象級別比較高,而且簡單清晰,便于理解和使用。但是當(dāng)時也有人認為關(guān)系模型是理想化的數(shù)據(jù)模型,用來實現(xiàn)DBMS是不現(xiàn)實的,尤其擔(dān)心關(guān)系數(shù)據(jù)庫的性能難以接受,更有人視其為當(dāng)時正在進行中的網(wǎng)狀數(shù)據(jù)庫規(guī)范化工作的嚴重威脅。
為了促進對問題的理解,1974年ACM牽頭組織了一次研討會,會上開展了一場分別以Codd和Bachman為首的支持和反對關(guān)系數(shù)據(jù)庫兩派之間的辯論。這次著名的辯論推動了關(guān)系數(shù)據(jù)庫的發(fā)展,使其最終成為現(xiàn)代數(shù)據(jù)庫產(chǎn)品的主流。
1974年,IBM的Don Chamberlin和Ray Boyce將Codd關(guān)系數(shù)據(jù)庫的12條準(zhǔn)則的數(shù)學(xué)定義以簡單的關(guān)鍵字語法表現(xiàn)出來,里程碑式地提出了SQL(Structured Query Language)語言。
SQL語言的功能包括查詢、操縱、定義和控制,是一個綜合的、通用的關(guān)系數(shù)據(jù)庫語言,同時又是一種高度非過程化的語言,只要求用戶指出做什么而不需要指出怎么做。SQL集成實現(xiàn)了數(shù)據(jù)庫生命周期中的全部操作。自產(chǎn)生之日起,SQL語言便成了檢驗關(guān)系數(shù)據(jù)庫的試金石,而SQL語言標(biāo)準(zhǔn)的每一次變更都指導(dǎo)著關(guān)系數(shù)據(jù)庫產(chǎn)品的發(fā)展方向。
在SQL語言取得進展的同時,IBM研究中心于1973年開始著手SystemR項目。其目標(biāo)是論證一個全功能關(guān)系DBMS的可行性。該項目結(jié)束于1979年,完成了第一個實現(xiàn)SQL的DBMS。1986年,ANSI把SQL作為關(guān)系數(shù)據(jù)庫語言的美國標(biāo)準(zhǔn),同年公布了標(biāo)準(zhǔn)SQL文本。目前SQL標(biāo)準(zhǔn)有3個版本?;維QL定義是ANSIX3135-89,"Database Language - SQL with Integrity Enhancement"[ANS89],一般叫做SQL-89。SQL-89定義了模式定義、數(shù)據(jù)操作和事務(wù)處理。SQL-89和隨后的ANSIX3168-1989,"DatabaseLanguage-EmbeddedSQL"構(gòu)成了第一代SQL標(biāo)準(zhǔn)。ANSIX3135-1992[ANS92]描述了一種增強功能的SQL,現(xiàn)在叫做SQL-92標(biāo)準(zhǔn)。SQL-92包括模式操作,動態(tài)創(chuàng)建和SQL語句動態(tài)執(zhí)行、網(wǎng)絡(luò)環(huán)境支持等增強特性。在完成SQL-92標(biāo)準(zhǔn)后,ANSI和ISO即開始合作開發(fā)SQL3標(biāo)準(zhǔn)。SQL3的主要特點在于抽象數(shù)據(jù)類型的支持,為新一代對象關(guān)系數(shù)據(jù)庫提供了標(biāo)準(zhǔn)。
◆IBM DB2:SYSTEM R 完成后,Donald J. Haderle(DB2 之父)帶領(lǐng)的小組在 1982 年到 1983 年之間完成了 DB2 for VSE/VM上的原型。
1983 年底,DB2 for MVS V1 正式發(fā)布,這標(biāo)志著 DB2 產(chǎn)品化的開始,也標(biāo)志著 DB2 品牌的創(chuàng)立。坦白地說,DB2 剛誕生的時候就像一個襁褓中的嬰兒-發(fā)育不完全、嬌嫩、經(jīng)不起風(fēng)吹雨打。為解決這個問題,Haderle于 1984 年領(lǐng)導(dǎo)成立了 DBTI(DB2 Technology Institution, DB2 技術(shù)研究所),這是一個集研究、開發(fā)、市場推廣于一身,致力于發(fā)展 DB2 的部門。
DB2 的性能、可靠性、功能、吞吐量都有了極大的提高,已經(jīng)能夠適應(yīng)各種關(guān)鍵業(yè)務(wù)的需求。
1988 年,DB2 for MVS 的卓越處理能力和穩(wěn)定性得到了業(yè)界的廣泛認可,DB2 終于從丑小鴨長成了天鵝。
1987: IBM 發(fā)布帶有關(guān)系型數(shù)據(jù)庫能力的 OS/2 V1.0擴展版,這是IBM第一次把關(guān)系型數(shù)據(jù)庫處理能力擴展到微機系統(tǒng)。這也是 DB2 for OS/2、Unix and Window 的雛形。
1988: IBM 發(fā)布了SQL/400,為集成了關(guān)系型數(shù)據(jù)庫管理系統(tǒng)的AS/400服務(wù)器提供了SQL支持。
1988: IDUG(國際DB2用戶組織)組織成立。這標(biāo)志著 DB2 的用戶已經(jīng)形成了相當(dāng)?shù)囊?guī)模。
1989: IBM 定義了 Common SQL 和 IBM 分布式關(guān)系數(shù)據(jù)庫架構(gòu)(DRDA),并在 IBM 所有的關(guān)系數(shù)據(jù)庫管理系統(tǒng)上加以實現(xiàn)。
1993: IBM 發(fā)布了DB2 for OS/2 V1(DB2 for OS/2 可以被簡寫為DB2/2)和DB2 for RS/6000 V1(DB2 for RS/6000 可以被簡寫為DB2/6000),這是 DB2 第一次在Intel 和Unix 平臺上出現(xiàn)。
1994: IBM 發(fā)布了運行在 RS/6000 SP2 上的 DB2 并行版 V1,DB2 從此有了能夠適應(yīng)大型數(shù)據(jù)倉庫和復(fù)雜查詢?nèi)蝿?wù)的可擴展架構(gòu)。
1994: IBM 將 DB2 Common Server 擴展到 HP-UX 和 Sun Solaris 上。DB2 開始支持其他公司開發(fā)的 UNIX 平臺。
◆ORACLE:1977年6月Larry Ellison 他們?nèi)撕匣锍鲑Y2000美元成立了軟件開發(fā)RelationalSoftware公司,Ellison擁有60%的股份,即稍后的Oracle公司。
1976年IBM研究人員Codd博士發(fā)表了一篇里程碑的論文 "R系統(tǒng):數(shù)據(jù)庫關(guān)系理論",介紹了關(guān)系數(shù)據(jù)庫理論和查詢語言SQL, Ellison非常仔細地閱讀了這篇文章,被其內(nèi)容震驚,這是第一次有人用全面一致的方案管理數(shù)據(jù)信息。作者Codd幾乎在近十年前就發(fā)表了關(guān)系數(shù)據(jù)庫理論,并在IBM研究機構(gòu)開發(fā)原型,這個項目就是R系統(tǒng),存取數(shù)據(jù)表的語言就是SQL,文章詳細描述了他十年的研究成果和如何實現(xiàn)的方法,Ellison 看完后,敏銳意識到在這個研究基礎(chǔ)上可以開發(fā)商用軟件系統(tǒng)。那時大多數(shù)人認為關(guān)系數(shù)據(jù)庫不會有商業(yè)價值,因為速度太慢,不可能滿足處理大規(guī)模數(shù)據(jù)或者大量用戶存取數(shù)據(jù),關(guān)系數(shù)據(jù)庫理論上很漂亮而且易于使用,但不足就是太簡單實現(xiàn)速度太慢。
Ellison認為這是他們的機會:他們決定開發(fā)通用商用數(shù)據(jù)庫系統(tǒng)Oracle,這個名字來源于他們曾給中央情報局做過的項目名。不過也不是只有他們獨家在行動,Berkeley大學(xué)也開始開發(fā)關(guān)系數(shù)據(jù)庫系統(tǒng)Ingres.
他們次年完成了Oracle1,用匯編語言開發(fā),基于RSX操作系統(tǒng),運行在128KB內(nèi)存的PDP-11小型機上。但這個產(chǎn)品沒有正式發(fā)布。
1980年,Oracle公司正式發(fā)布了基于Vax/VMS系統(tǒng)的Oracle2。
兩年后,他們發(fā)布了Oracle3,主要用C語言開發(fā),具有事務(wù)處理的功能。
1983年,RelationalSoftware公司改名為Oracle公司。次年,他們推出Oracle4,擴充了數(shù)據(jù)一致性支持,并開始支持更廣泛的平臺 。Oracle的主要對手是Ingres,1984年Oracle的銷售額是1270萬美元,Ingres是900萬美元,1985年兩者銷售額都翻了一倍以上,只是Ingres增長得更快,如果照此發(fā)展,Ingres將會超越對手,但這時藍色巨人IBM又幫了Ellison一把.
1985年IBM發(fā)布了關(guān)系數(shù)據(jù)庫DB2,采用了和Ingres不同的數(shù)據(jù)查詢語言SQL, Ingres用的是QUEL, Ellison 抓住了市場機會,到處宣傳Oracle和IBM的兼容性,結(jié)果從1985年到1990年雖然Ingres的銷售額每年增長高于50%,但Oracle遠遠跑在了前面,每年增長率超過100%,SQL在1986年成為了正式工業(yè)標(biāo)準(zhǔn),Ingres的老板簡直無法相信Ellison的運氣,但這正是Ellison的精明之處,"跟著藍色巨人,永遠不會錯。"
IBM確立SQL的標(biāo)準(zhǔn)是Oracle成功的關(guān)鍵,但數(shù)據(jù)庫的戰(zhàn)爭遠未結(jié)束.
Sybase和Informix也加入了競爭的行列. IBM 卻沒有計劃開發(fā),為什么藍色巨人放棄了這個價值上百億的產(chǎn)品,原因有很多:IBM的研究人員大多是學(xué)術(shù)出身,他們最感興趣的是理論,而不是推向市場的產(chǎn)品,從學(xué)術(shù)上看,研究成果應(yīng)該公開,發(fā)表論文和演講能使他們成名,為什么不呢?還有一個很主要的原因就是IBM當(dāng)時有一個銷售得還不錯的層次數(shù)據(jù)庫產(chǎn)品IMS,推出一個競爭性的產(chǎn)品會影響IMS的銷售和人員工作,直到1985年IBM才發(fā)布了關(guān)系數(shù)據(jù)庫DB2,Ellision那時已經(jīng)成了千萬富翁。
Ellison曾將IBM選擇Microsoft的MS-DOS作為IBM-PC機 的操作系統(tǒng)比為:"世界企業(yè)經(jīng)營歷史上最嚴重的錯誤,價值超過了上千億美元。",IBM發(fā)表R系統(tǒng)論文,而且沒有很快推出關(guān)系數(shù)據(jù)庫產(chǎn)品的錯誤可能僅僅次之,Oracle的市值在1996年就達到了280億.。
1986年的Oracle5實現(xiàn)了真正的Client/Server結(jié)構(gòu),開始支持基于VAX平臺的群集,成為第一個具有分布式特性的數(shù)據(jù)庫產(chǎn)品。
1988年Oracle公司發(fā)布Oracle6。1992年正式推出Oracle7。
◆SYBASE:1984年Sybase由Mark Hoffman和Bob Epstein共同創(chuàng)立。
公司名稱"Sybase"取自"system"和"database"相結(jié)合的含義。
Sybase公司的創(chuàng)始人之一Bob Epstein是Ingres大學(xué)版(與System/R同時期的關(guān)系數(shù)據(jù)庫模型產(chǎn)品)的主要設(shè)計人員。
公司的第一個關(guān)系數(shù)據(jù)庫產(chǎn)品是1987年5月推出的SybaseSQLServer1.0。Sybase首先提出了Client/Server數(shù)據(jù)庫體系結(jié)構(gòu)的思想,并率先在自己的SybaseSQLServer中實現(xiàn)。
1985年Sybase第一個會計年度營業(yè)額達150萬美元。
1986年Sybase率先推出專為在線網(wǎng)絡(luò)化應(yīng)用程序而設(shè)計的關(guān)連式數(shù)據(jù)庫,并與美國微軟公司結(jié)為策略聯(lián)盟。
同年,Sybase實現(xiàn)盈利。
1987年Sybase發(fā)表Sybase Open Client/Open Server應(yīng)用程序接口,對不同的客戶端 設(shè)備及Sybase Grows和Expands等數(shù)據(jù)來源,提供一般性的通訊功能。
1990年Sybase推介第一個將IBM MVS大型主機整合到局域網(wǎng)絡(luò)主從環(huán)境的產(chǎn)品。美國財富(Fortune)雜志將Sybase列入美國成長最快速企業(yè)的前十名之內(nèi)。
1991年Sybase營業(yè)收入超過一億美元大關(guān),1990會計年度營收數(shù)字為1億400萬美元,再度被財富雜志列為成長最快速的企業(yè)之一。
同年,Powersoft公司推出PowerBuilder 1.0。
1992年Sybase公告1991會計年度的營收為1億6000萬美元,比1990會計年度成長65%。
同年,Sybase發(fā)表System 10,率先提供全企業(yè)主從架構(gòu)運算完整的作業(yè)架構(gòu)。
1993年Sybase推出OmniSQL Gateway,使系統(tǒng)在不同組件的數(shù)據(jù)庫之間,能夠透通、跨平臺作業(yè)。
同年,Sybase發(fā)表Replication Server,這是第一套針對分布式主從架構(gòu)運算而設(shè)計 ,企業(yè)級、高取用性的解決方案。
1994年Sybase購并Micro Decisionware公司,并迅即發(fā)表 Enterprise CONNECT。
Enterprise CONNECT是第一個可跨平臺作業(yè)的架構(gòu),提供關(guān)連式或非關(guān)連式、大型主機及主從架構(gòu)環(huán)境前所未有的功能。
同年,Powersoft 并購Watcom并推出Infomaker。
1995年08月Sybase與Powersoft公司合并。在這里不得不提的是Powersoft公司創(chuàng)始人:Mitchell E. Kertzman。他有著和Microsoft的gates、Oracle的Ellison相似的經(jīng)歷,大學(xué)輟學(xué)、白手起家,經(jīng)營某項**技術(shù)直到把它作大,其公司的旗艦級產(chǎn)品Power Builder,曾經(jīng)引領(lǐng)了一個時代。
同年,Sybase被時代華納通訊公司選為標(biāo)準(zhǔn)系統(tǒng),北京商品交易(Beijing Commodities Exchange)也選定Sybase為標(biāo)準(zhǔn)系統(tǒng)。
與此同時,Sybase成為第一家通過ISO 9001最高標(biāo)準(zhǔn)的軟件公司。
而且,Sybase獲選為美國航空暨太空總署(NASA)「Database of the Century」的核心技術(shù)。
Sybase成為全世界第六大軟件公司。
2010年5月13日,Sybase被ERP巨頭SAP公司以58億美元收購。
◆INFORMIX:Informix在1980年成立,目的是為Unix等開放操作系統(tǒng)提供專業(yè)的關(guān)系型數(shù)據(jù)庫產(chǎn)品。
公司的名稱Informix便是取自Information和Unix的結(jié)合。
Informix第一個真正支持SQL語言的關(guān)系數(shù)據(jù)庫產(chǎn)品是InformixSE(StandardEngine)。
InformixSE的特點是簡單、輕便、適應(yīng)性強。它的裝機量非常之大,尤其是在當(dāng)時的微機Unix環(huán)境下,成為主要的數(shù)據(jù)庫產(chǎn)品。
它也是第一個被移植到Linux上的商業(yè)數(shù)據(jù)庫產(chǎn)品。
在90年代初,聯(lián)機事務(wù)處理成為關(guān)系數(shù)據(jù)庫越來越主要的應(yīng)用,同時,Client/Server結(jié)構(gòu)日漸興起。為了滿足基于Client/Server環(huán)境下聯(lián)機事務(wù)處理的需要,Informix在其數(shù)據(jù)庫產(chǎn)品中引入了Client/Server的概念,將應(yīng)用對數(shù)據(jù)庫的請求與數(shù)據(jù)庫對請求的處理分割開來,推出了Informix-OnLine,OnLine的一個特點是數(shù)據(jù)的管理的重大改變,即數(shù)據(jù)表不再是單個的文件,而是數(shù)據(jù)庫空間和邏輯設(shè)備。邏輯設(shè)備不僅可以建立在文件系統(tǒng)之上,還可以是硬盤的分區(qū)和裸設(shè)備。由此提高了數(shù)據(jù)的安全性。
1993年,為了克服多進程系統(tǒng)性能的局限性,Informix使用多線程機制重新改寫數(shù)據(jù)庫核心,次年初,Informix推出了采用被稱為"動態(tài)可伸縮結(jié)構(gòu)"(DSA)的InformixDynamicServer。除了應(yīng)用線程機制以外,Informix在數(shù)據(jù)庫核心中引入了虛處理器的概念,每個虛處理器就是一個Informix數(shù)據(jù)庫服務(wù)器進程。在DynamicServer中,多條線程可以在虛處理器緩沖池中并行執(zhí)行,而每個虛處理機又被實際的多處理機調(diào)度執(zhí)行。更重要的是:為了執(zhí)行高效性和多功能的調(diào)諧,Informix將虛處理器根據(jù)不同的處理任務(wù)進行了分類。每一類被優(yōu)化以完成一種特定的功能。到90年代后期,隨著Internet的興起,電子文檔、圖片、視頻、空間信息、Internet/Web等應(yīng)用潮水般涌入IT行業(yè),而關(guān)系數(shù)據(jù)庫所管理的數(shù)據(jù)類型仍停留在數(shù)字、字符串、日期等六七十年代的水平上,其處理能力便顯得力不從心了。
1992年,著名的數(shù)據(jù)庫學(xué)者、Ingres的創(chuàng)始人加州大學(xué)伯克利分校的MichaelStonebraker教授提出對象關(guān)系數(shù)據(jù)庫模型,從而找到了一條解決問題的有效途徑。
1995年,Stonebraker及其研發(fā)組織的加入了Informix,使之在數(shù)據(jù)庫發(fā)展方向上有了一個新的突破:1996年Informix推出了通用數(shù)據(jù)選件(Universal Data Option)。這是一個對象關(guān)系模型的數(shù)據(jù)庫服務(wù)器;它與其他廠商中間件的解決方案不同,從關(guān)系數(shù)據(jù)庫服務(wù)器內(nèi)部的各個環(huán)節(jié)對數(shù)據(jù)庫進行面向?qū)ο蟮臄U充;將關(guān)系數(shù)據(jù)庫的各種機制抽象化、通用化。UniversalDataOption采用了DynamicServer的所有底層技術(shù),如DSA結(jié)構(gòu)和并行處理,同時允許用戶在數(shù)據(jù)庫中建立復(fù)雜的數(shù)據(jù)類型及用戶自定義的數(shù)據(jù)類型,同時可對這些數(shù)據(jù)類型定義各種操作和運算以實現(xiàn)對象的封裝。在定義操作和運算時可以采用數(shù)據(jù)庫過程語言、C語言,它們經(jīng)注冊后成為服務(wù)器的一部分。1999年,Informix進一步將Universal Data Option進行了優(yōu)化,為用戶自定義數(shù)據(jù)類型和操作過程提供了完整的工具環(huán)境。同時在傳統(tǒng)事務(wù)處理的性能超過了以往的Dynamic Server。新的數(shù)據(jù)庫核心便被命名為IDS.2000。它的目標(biāo)定位于下世紀基于Internet的復(fù)雜數(shù)據(jù)庫應(yīng)用。
2001年,被IBM收購。
◆MS SQL SERVER:1987年,微軟和IBM合作開發(fā)完成OS/2,IBM在其銷售的OS/2ExtendedEdition系統(tǒng)中綁定了OS/2DatabaseManager,而微軟的產(chǎn)品線中尚缺少數(shù)據(jù)庫產(chǎn)品,處于不利的位置。為此,微軟將目光投向當(dāng)時雖沒有正式推出產(chǎn)品但已在技術(shù)上嶄露頭角的Sybase,同Sybase簽訂了合作協(xié)議,使用Sybase的技術(shù)開發(fā)基于OS/2平臺的關(guān)系型數(shù)據(jù)庫。1989年,微軟發(fā)布了SQLServer1.0版。
1991年,微軟和IBM宣布終止OS/2的合作開發(fā),不過微軟仍于1992年同Sybase合作推出了基于OS/2的SQLServer4.2版。這時,微軟已經(jīng)在規(guī)劃基于WindowsNT系統(tǒng)的32位版本了。1993年,在推出WindowsNT3.1后不久,微軟如期發(fā)布了SQL Server的Windows NT版,并取得了成功。
這時,微軟和Sybase的合作出現(xiàn)了危機。一方面,基于Windows NT的SQL Server已經(jīng)開始對Sybase基于Unix的主流產(chǎn)品形成競爭;另一方面,微軟希望對SQL Server針對Windows NT做優(yōu)化,卻由于兼容性的問題,無法得到Sybase修改代碼的認可。經(jīng)協(xié)商,雙方于1994年達成協(xié)議,宣布雙方將各自發(fā)展數(shù)據(jù)庫產(chǎn)品,微軟得到了自由修改SQL Server代碼的許可,此后,Windows NT成了SQL Server運行的惟一平臺。繼1995年發(fā)布代號為SQL95的SQLServer6.0后,微軟推出了影響深遠的SQL Server6.5。
SQL Server6.5是一個性能穩(wěn)定、功能強大的現(xiàn)代數(shù)據(jù)庫產(chǎn)品。值得一提的是該產(chǎn)品完全是使用Windows平臺的API接口完成的,沒有使用未公開的內(nèi)部函數(shù),完全作為一個應(yīng)用程序工作,不直接使用操作系統(tǒng)的地址空間。SQLServer6.5采用多線程模型,支持動態(tài)備份,內(nèi)嵌大量可調(diào)用的調(diào)試對象,提供開放式接口和一整套開發(fā)、管理、監(jiān)測工具集合,還提供了多CPU的支持。
◆Interbase:由HP公司開發(fā)的一個較早并比較成熟的RDBMS,后轉(zhuǎn)賣給Ashton-Tate公司,最后被Borland公司并購,目前主要集成在Borland公司的產(chǎn)品中。
看到這里,我們忽然發(fā)現(xiàn)這么多的關(guān)系型數(shù)據(jù)庫產(chǎn)品內(nèi)在有著千絲萬縷的聯(lián)系,每個公司都有著創(chuàng)建、發(fā)展、后退、再發(fā)展等幾近相同的歷史,包括IBM這樣的藍色巨人在90年代初期也曾一度徘徊,甚至有破產(chǎn)的危險。
我現(xiàn)在開始相信市場第一、技術(shù)第二這樣的論斷了......數(shù)據(jù)庫的發(fā)展何去何從,關(guān)系型數(shù)據(jù)庫的生命力還有多久?數(shù)據(jù)庫現(xiàn)在的發(fā)展方向,是新近出現(xiàn)的將原有的關(guān)系數(shù)據(jù)庫與許多其它的功能,如電子郵件、個人通訊等等相結(jié)合的趨勢。而在企業(yè)自動化、電子政務(wù)等應(yīng)用領(lǐng)域,人們相互進行的協(xié)同工作,也在與數(shù)據(jù)庫技術(shù)融合。
比較熱門的研究領(lǐng)域還有XML數(shù)據(jù)庫技術(shù),它主要處理關(guān)系數(shù)據(jù)庫過去處理不了的半結(jié)構(gòu)化數(shù)據(jù),如文檔數(shù)據(jù),這跟傳統(tǒng)的關(guān)系數(shù)據(jù)庫是不一樣的。數(shù)據(jù)庫所管理的數(shù)據(jù)發(fā)生了根本的變化,它的基本標(biāo)志就是從過去僅僅管理由鍵盤輸入的數(shù)字、字符等簡單數(shù)據(jù),到今天必須管理由各種設(shè)備、裝置、計算所產(chǎn)生的多種類型的復(fù)雜數(shù)據(jù)。例如,圖形、圖像、視頻、音頻、電子圖書與檔案、Web網(wǎng)頁等等。這一變化給數(shù)據(jù)庫技術(shù)帶來了很多的挑戰(zhàn),需要我們研究許多新的問題。關(guān)系數(shù)據(jù)庫已經(jīng)無法勝任這種變化了的應(yīng)用需求,可以說它使數(shù)據(jù)庫技術(shù)的發(fā)展面臨一個新的分水嶺,我們必須尋求新的解決辦法。
首先,數(shù)據(jù)庫的一個基本問題就是要找到一個恰當(dāng)?shù)臄?shù)據(jù)模型來表達它所管理的對象。關(guān)系數(shù)據(jù)庫的模型可以簡化為普通的表格,它對于表達鍵盤輸入的數(shù)據(jù)十分到位。但是,如果我們用表格表達一本書,而書里面有文字、圖形、圖像、數(shù)學(xué)公式,還有很多特定領(lǐng)域特殊的內(nèi)容,還要分成章節(jié),這對關(guān)系數(shù)據(jù)庫模型而言顯然是件十分困難的事情,它處理不了這么復(fù)雜的數(shù)據(jù)內(nèi)容與它們之間的結(jié)構(gòu)。
第二,數(shù)據(jù)模型的變化意味著查詢語言的變化。
第三,數(shù)據(jù)的變化,意味著后端對查詢數(shù)據(jù)的處理要發(fā)生變化。過去的對象很簡單,都是一行一行的紀錄?,F(xiàn)在一個對象除了一部電影、一幅圖像、一個電視節(jié)目這些對象本身以外,還有很多關(guān)于它們的描述性的東西,即對象的元數(shù)據(jù)(對這些內(nèi)容特征的描述)。比如一張照片,它的顏色、紋理等等,這使得數(shù)據(jù)本身呈現(xiàn)一種多維的趨勢,數(shù)據(jù)庫系統(tǒng)必須考慮這樣的要求。第四,在存儲方面,過去數(shù)據(jù)存儲不太考慮10年、20年這樣長期的存儲。一般的數(shù)據(jù)用了一年兩年之后,我們就采取備份的手段,把它倒到磁帶上,變成離線的,再放到架子上,編目進行管理?,F(xiàn)在則不同,一本書,一部檔案,可能10年、20年以后還要用,用戶只要有需要,都希望能把它在線地調(diào)出來使用。從存儲容量的要求來看,現(xiàn)在的要求跟過去鍵盤輸入時代的要求有天壤之別。如何在計算機里長期保存這樣超大規(guī)模的數(shù)據(jù),并且實現(xiàn)隨時可用的在線訪問,這就需要一個合理的存儲系統(tǒng),這顯然不是僅僅增加磁盤陣列就能解決的問題。第五,是對數(shù)據(jù)的使用。傳統(tǒng)的關(guān)系數(shù)據(jù)庫保存的都是鍵盤輸入的數(shù)據(jù),對它的使用也很簡單,就是查一條或者一組記錄,然后在終端顯示出來。今天,當(dāng)我們把一張照片調(diào)出來,看照片要用特定的瀏覽器。我們把一本書調(diào)出來,需要各種索引服務(wù)。存儲的對象和服務(wù)都產(chǎn)生了很大的變化,它會反過頭來對數(shù)據(jù)庫的支撐技術(shù)提出了很多的新要求。比如視頻音頻的索引技術(shù),都會與現(xiàn)在關(guān)系數(shù)據(jù)庫所處理的常規(guī)數(shù)據(jù)索引有很大的不同。不是我不明白,這世界變化快!
發(fā)展至今日,傳統(tǒng)的關(guān)系數(shù)據(jù)庫已經(jīng)紛紛往云上發(fā)展。開源的PostgreSQL, MySQL各自發(fā)展出很多發(fā)行版,對其它商業(yè)數(shù)據(jù)庫的威脅日漸嚴重。使用方式的改變讓最終用戶多了很多選擇,一切都是為了降低使用成本。
咨詢熱線
18611170056官方微信
返回頂部