㈠ 資料庫發展歷史是什麼
資料庫技術從誕生到現在,在不到半個世紀的時間里,形成了堅實的理論基礎、成熟的商業產品和廣泛的應用領域,吸引越來越多的研究者加入。資料庫的誕生和發展給計算機信息管理帶來了一場巨大的革命。三十多年來,國內外已經開發建設了成千上萬個資料庫,它已成為企業、部門乃至個人日常工作、生產和生活的基礎設施。同時,隨著應用的擴展與深入,資料庫的數量和規模越來越大,資料庫的研究領域也已經大大地拓廣和深化了。30年間資料庫領域獲得了三次計算機圖靈獎(C.W. Bachman, E.F.Codd, J.Gray),更加充分地說明了資料庫是一個充滿活力和創新精神的領域。就讓我們沿著歷史的軌跡,追溯一下資料庫的發展歷程。
一. 資料庫發展簡史
1. 數據管理的誕生
資料庫的歷史可以追溯到五十年前,那時的數據管理非常簡單。通過大量的分類、比較和表格繪制的機器運行數百萬穿孔卡片來進行數據的處理,其運行結果在紙上列印出來或者製成新的穿孔卡片。而數據管理就是對所有這些穿孔卡片進行物理的儲存和處理。
然而,1951年雷明頓蘭德公司(Remington Rand Inc)的一種叫做Univac I的計算機推出了一種一秒鍾可以輸入數百條記錄的磁帶驅動器,從而引發了數據管理的革命。1956年IBM生產出第一個磁碟驅動器——the Model 305 RAMAC。此驅動器有50個碟片,每個碟片直徑是2英尺,可以儲存5MB的數據。使用磁碟最大的好處是可以隨機地存取數據,而穿孔卡片和磁帶只能順序存取數據。
1951: Univac系統使用磁帶和穿孔卡片作為數據存儲。
資料庫系統的萌芽出現於60年代。當時計算機開始廣泛地應用於數據管理,對數據的共享提出了越來越高的要求。傳統的文件系統已經不能滿足人們的需要。能夠統一管理和共享數據的資料庫管理系統(DBMS)應運而生。數據模型是資料庫系統的核心和基礎,各種DBMS軟體都是基於某種數據模型的。所以通常也按照數據模型的特點將傳統資料庫系統分成網狀資料庫、層次資料庫和關系資料庫三類。
最早出現的是網狀DBMS,是美國通用電氣公司Bachman等人在1961年開發成功的IDS(Integrated DataStore)。1961年通用電氣公司(General Electric Co.)的Charles Bachman成功地開發出世界上第一個網狀DBMS也是第一個資料庫管理系統——集成數據存儲(Integrated DataStore IDS),奠定了網狀資料庫的基礎,並在當時得到了廣泛的發行和應用。IDS具有數據模式和日誌的特徵。但它只能在GE主機上運行,並且資料庫只有一個文件,資料庫所有的表必須通過手工編碼來生成。
之後,通用電氣公司的一個客戶——BF Goodrich Chemical公司最終不得不重寫了整個系統。並將重寫後的系統命名為集成數據管理系統(IDMS)。
網狀資料庫模型對於層次和非層次結構的事物都能比較自然的模擬,在關系資料庫出現之前網狀DBMS要比層次DBMS用得普遍。在資料庫發展史上,網狀資料庫佔有重要地位。
層次型DBMS是緊隨網路型資料庫而出現的。最著名最典型的層次資料庫系統是IBM公司在1968年開發的IMS(Information Management System),一種適合其主機的層次資料庫。這是IBM公司研製的最早的大型資料庫系統程序產品。從60年代末產生起,如今已經發展到IMSV6,提供群集、N路數據共享、消息隊列共享等先進特性的支持。這個具有30年歷史的資料庫產品在如今的WWW應用連接、商務智能應用中扮演著新的角色。
1973年Cullinane公司(也就是後來的Cullinet軟體公司),開始出售Goodrich公司的IDMS改進版本,並且逐漸成為當時世界上最大的軟體公司。
2. 關系資料庫的由來
網狀資料庫和層次資料庫已經很好地解決了數據的集中和共享問題,但是在數據獨立性和抽象級別上仍有很大欠缺。用戶在對這兩種資料庫進行存取時,仍然需要明確數據的存儲結構,指出存取路徑。而後來出現的關系資料庫較好地解決了這些問題。
1970年,IBM的研究員E.F.Codd博士在刊物《Communication of the ACM》上發表了一篇名為「A Relational Model of Data for Large Shared Data Banks」的論文,提出了關系模型的概念,奠定了關系模型的理論基礎。盡管之前在1968年Childs已經提出了面向集合的模型,然而這篇論文被普遍認為是資料庫系統歷史上具有劃時代意義的里程碑。Codd的心願是為資料庫建立一個優美的數據模型。後來Codd又陸續發表多篇文章,論述了範式理論和衡量關系系統的12條標准,用數學理論奠定了關系資料庫的基礎。關系模型有嚴格的數學基礎,抽象級別比較高,而且簡單清晰,便於理解和使用。但是當時也有人認為關系模型是理想化的數據模型,用來實現DBMS是不現實的,尤其擔心關系資料庫的性能難以接受,更有人視其為當時正在進行中的網狀資料庫規范化工作的嚴重威脅。為了促進對問題的理解,1974年ACM牽頭組織了一次研討會,會上開展了一場分別以Codd和Bachman為首的支持和反對關系資料庫兩派之間的辯論。這次著名的辯論推動了關系資料庫的發展,使其最終成為現代資料庫產品的主流。
1969: Edgar F。「Ted」 Codd發明了關系資料庫
1970年關系模型建立之後,IBM公司在San Jose實驗室增加了更多的研究人員研究這個項目,這個項目就是著名的System R。其目標是論證一個全功能關系DBMS的可行性。該項目結束於1979年,完成了第一個實現SQL的DBMS。然而IBM對IMS的承諾阻止了System R的投產,一直到1980年System R才作為一個產品正式推向市場。IBM產品化步伐緩慢的三個原因:IBM重視信譽,重視質量,盡量減少故障;IBM是個大公司,官僚體系龐大;IBM內部已經有層次資料庫產品,相關人員不積極,甚至反對。
然而同時,1973年加州大學伯克利分校的Michael Stonebraker和Eugene Wong利用System R已發布的信息開始開發自己的關系資料庫系統Ingres。他們開發的Ingres項目最後由Oracle公司、Ingres公司以及矽谷的其他廠商所商品化。後來,System R和Ingres系統雙雙獲得ACM的1988年「軟體系統獎」。
1976年霍尼韋爾公司(Honeywell)開發了第一個商用關系資料庫系統——Multics Relational Data Store。關系型資料庫系統以關系代數為堅實的理論基礎,經過幾十年的發展和實際應用,技術越來越成熟和完善。其代表產品有Oracle、IBM公司的DB2、微軟公司的MS SQL Server以及Informix、ADABASD等等。
3. 結構化查詢語言 (SQL)
1974年,IBM的Ray Boyce和Don Chamberlin將Codd關系資料庫的12條准則的數學定義以簡單的關鍵字語法表現出來,里程碑式地提出了SQL(Structured Query Language)語言。SQL語言的功能包括查詢、操縱、定義和控制,是一個綜合的、通用的關系資料庫語言,同時又是一種高度非過程化的語言,只要求用戶指出做什麼而不需要指出怎麼做。SQL集成實現了資料庫生命周期中的全部操作。SQL提供了與關系資料庫進行交互的方法,它可以與標準的編程語言一起工作。自產生之日起,SQL語言便成了檢驗關系資料庫的試金石,而SQL語言標準的每一次變更都指導著關系資料庫產品的發展方向。然而,直到二十世紀七十年代中期,關系理論才通過SQL在商業資料庫Oracle和DB2中使用。
1986年,ANSI把SQL作為關系資料庫語言的美國標准,同年公布了標准SQL文本。目前SQL標准有3個版本。基本SQL定義是ANSIX3135-89,「Database Language - SQL with Integrity Enhancement」[ANS89],一般叫做SQL-89。SQL-89定義了模式定義、數據操作和事務處理。SQL-89和隨後的ANSIX3168-1989,「Database Language-Embedded SQL」構成了第一代SQL標准。ANSIX3135-1992[ANS92]描述了一種增強功能的SQL,現在叫做SQL-92標准。SQL-92包括模式操作,動態創建和SQL語句動態執行、網路環境支持等增強特性。在完成SQL-92標准後,ANSI和ISO即開始合作開發SQL3標准。SQL3的主要特點在於抽象數據類型的支持,為新一代對象關系資料庫提供了標准。
4. 面向對象資料庫
隨著信息技術和市場的發展,人們發現關系型資料庫系統雖然技術很成熟,但其局限性也是顯而易見的:它能很好地處理所謂的「表格型數據」,卻對技術界出現的越來越多的復雜類型的數據無能為力。九十年代以後,技術界一直在研究和尋求新型資料庫系統。但在什麼是新型資料庫系統的發展方向的問題上,產業界一度是相當困惑的。受當時技術風潮的影響,在相當一段時間內,人們把大量的精力花在研究「面向對象的資料庫系統(object oriented database)」或簡稱「OO資料庫系統」。值得一提的是,美國Stonebraker教授提出的面向對象的關系型資料庫理論曾一度受到產業界的青睞。而Stonebraker本人也在當時被Informix花大價錢聘為技術總負責人。
然而,數年的發展表明,面向對象的關系型資料庫系統產品的市場發展的情況並不理想。理論上的完美性並沒有帶來市場的熱烈反應。其不成功的主要原因在於,這種資料庫產品的主要設計思想是企圖用新型資料庫系統來取代現有的資料庫系統。這對許多已經運用資料庫系統多年並積累了大量工作數據的客戶,尤其是大客戶來說,是無法承受新舊數據間的轉換而帶來的巨大工作量及巨額開支的。另外,面向對象的關系型資料庫系統使查詢語言變得極其復雜,從而使得無論是資料庫的開發商家還是應用客戶都視其復雜的應用技術為畏途。
5. 數據管理的變革
二十世紀六十年代後期出現了一種新型資料庫軟體:決定支持系統(DSS),其目的是讓管理者在決策過程中更有效地利用數據信息。於是在1970年,第一個聯機分析處理工具——Express誕生了。其他決策支持系統緊隨其後,許多是由公司的IT部門開發出來的。
1985年,第一個商務智能系統(business intelligence)由Metaphor計算機系統有限公司為Procter & Gamble公司開發出來,主要是用來連接銷售信息和零售的掃描儀數據。同年, Pilot 軟體公司開始出售第一個商用客戶/伺服器執行信息系統——Command Center。
同樣在這年,加州大學伯克利分校Ingres項目演變成Postgres,其目標是開發出一個面向對象的資料庫。此後一年, Graphael公司開發了第一個商用的對象資料庫系統—Gbase。
1988年,IBM公司的研究者Barry Devlin和Paul Murphy發明了一個新的術語—信息倉庫,之後,IT的廠商開始構建實驗性的數據倉庫。1991年,W.H. "Bill" Inmon出版了一本「如何構建數據倉庫」的書,使得數據倉庫真正開始應用。
1991: W.H.「Bill」 Inmon發表了」構建數據倉庫」
二十世紀九十年代,隨著基於PC的客戶/伺服器計算模式和企業軟體包的廣泛採用,數據管理的變革基本完成。數據管理不再僅僅是存儲和管理數據,而轉變成用戶所需要的各種數據管理的方式。Internet的異軍突起以及XML語言的出現,給資料庫系統的發展開辟了一片新的天地。
5. 資料庫發展大事記
1951:Univac系統使用磁帶和穿孔卡片作為數據存儲。
1956:IBM公司在其Model 305 RAMAC中第一次引入了磁碟驅動器
1961:通用電氣(GE)公司的Charles Bachman開發了第一個資料庫管理系統——IDS
1969:E.F. Codd發明了關系資料庫。
1973: 由John J.Cullinane領導Cullinane公司開發了 IDMS——一個針對IBM主機的基於網路模型的資料庫。
1976: Honeywell公司推出了Multics Relational Data Store——第一個商用關系資料庫產品。
1979: Oracle公司引入了第一個商用SQL關系資料庫管理系統。
1983: IBM 推出了DB2資料庫產品。
1985: 為Procter & Gamble系統設計的第一個商務智能系統產生。
1991: W.H.「Bill」 Inmon發表了」構建數據倉庫」。
㈡ 四大開源資料庫是哪些
如果打算為項目選擇一款免費、開源的資料庫,那麼你可能會在MySQL與PostgreSQL之間猶豫不定。MySQL與PostgreSQL都是免
費、開源、強大、且功能豐富的資料庫。你主要的問題可能是:哪一個才是最好的開源資料庫,MySQL還是PostgreSQL呢?該選擇哪一個開源資料庫
呢?
在選擇資料庫時,你所做的是個長期的決策,因為後面如果再改變決定將是非常困難且代價高昂的。你希望一開始就選擇正確。兩個流行
的開源資料庫MySQL與PostgreSQL常常成為最後要選擇的產品。對這兩個開源資料庫的高層次概覽將會有助於你選擇最適合自己需要的。
MySQL
MySQL相對來說比較年輕,首度出現在1994年。它聲稱自己是最流行的開源資料庫。MySQL就是LAMP(用於Web開發的軟體包,包括
Linux、Apache及Perl/PHP/Python)中的M。構建在LAMP棧之上的大多數應用都會使用MySQL,包括那些知名的應用,如
WordPress、Drupal、Zend及phpBB等。
一開始,MySQL的設計目標是成為一個快速的Web伺服器後端,使用
快速的索引序列訪問方法(ISAM),不支持ACID。經過早期快速的發展之後,MySQL開始支持更多的存儲引擎,並通過InnoDB引擎實現了
ACID。MySQL還支持其他存儲引擎,提供了臨時表的功能(使用MEMORY存儲引擎),通過MyISAM引擎實現了高速讀的資料庫,此外還有其他的
核心存儲引擎與第三方引擎。
MySQL的文檔非常豐富,有很多質量不錯的免費參考手冊、圖書與在線文檔,還有來自於Oracle和第三方廠商的培訓與支持。
MySQL近幾年經歷了所有權的變更和一些頗具戲劇性的事件。它最初是由MySQL
AB開發的,然後在2008年以10億美金的價格賣給了Sun公司,Sun公司又在2010年被Oracle收購。Oracle支持MySQL的多個版
本:Standard、Enterprise、Classic、Cluster、Embedded與Community。其中有一些是免費下載的,另外一
些則是收費的。其核心代碼基於GPL許可,對於那些不想使用GPL許可的開發者與廠商來說還有商業許可可供使用。
現在,基於最初的
MySQL代碼還有更多的資料庫可供選擇,因為幾個核心的MySQL開發者已經發布了MySQL分支。最初的MySQL創建者之一Michael
"Monty"
Widenius貌似後悔將MySQL賣給了Sun公司,於是又開發了他自己的MySQL分支MariaDB,它是免費的,基於GPL許可。知名的
MySQL開發者Brian Aker所創建的分支Drizzle對其進行了大量的改寫,特別針對多CPU、雲、網路應用與高並發進行了優化。
PostgreSQL
PostgreSQL標榜自己是世界上最先進的開源資料庫。PostgreSQL的一些粉絲說它能與Oracle相媲美,而且沒有那麼昂貴的價格和傲慢的客服。它擁有很長的歷史,最初是1985年在加利福尼亞大學伯克利分校開發的,作為Ingres資料庫的後繼。
PostgreSQL是完全由社區驅動的開源項目,由全世界超過1000名貢獻者所維護。它提供了單個完整功能的版本,而不像MySQL那樣提供了多個
不同的社區版、商業版與企業版。PostgreSQL基於自由的BSD/MIT許可,組織可以使用、復制、修改和重新分發代碼,只需要提供一個版權聲明即
可。
可靠性是PostgreSQL的最高優先順序。它以堅如磐石的品質和良好的工程化而聞名,支持高事務、任務關鍵型應用。
PostgreSQL的文檔非常精良,提供了大量免費的在線手冊,還針對舊版本提供了歸檔的參考手冊。PostgreSQL的社區支持是非常棒的,還有來
自於獨立廠商的商業支持。
數據一致性與完整性也是PostgreSQL的高優先順序特性。PostgreSQL是完全支持ACID特性
的,它對於資料庫訪問提供了強大的安全性保證,充分利用了企業安全工具,如Kerberos與OpenSSL等。你可以定義自己的檢查,根據自己的業務規
則確保數據質量。在眾多的管理特性中,point-in-time
recovery(PITR)是非常棒的特性,這是個靈活的高可用特性,提供了諸如針對失敗恢復創建熱備份以及快照與恢復的能力。但這並不是
PostgreSQL的全部,項目還提供了幾個方法來管理PostgreSQL以實現高可用、負載均衡與復制等,這樣你就可以使用適合自己特定需求的功能
了。
㈢ 四大國產資料庫是什麼
四大國產資料庫:
1、南大通用:
南大通用提供具有國際先進技術水平的資料庫產品。南大通用已經形成了在大規模、高性能、分布式、高安全的數據存儲、管理和應用方面的技術儲備,同時對於數據整合、應用系統集成、PKI安全等方面具有豐富的應用開發經驗。
2、武漢達夢:
武漢達夢資料庫有限公司成立於2000年,為國有控股的基礎軟體企業,專業從事資料庫管理系統研發、銷售和服務。其前身是華中科技大學資料庫與多媒體研究所,是國內最早從事資料庫管理系統研發的科研機構。達夢資料庫為中國資料庫標准委員會組長單位,得到了國家各級政府的強力支持。
3、人大金倉:
人大金倉資料庫管理系統KingbaseES是北京人大金倉信息技術股份有限公司自主研製開發的具有自主知識產權的通用關系型資料庫管理系統。
金倉資料庫主要面向事務處理類應用,兼顧各類數據分析類應用,可用做管理信息系統、業務及生產系統、決策支持系統、多維數據分析、全文檢索、地理信息系統、圖片搜索等的承載資料庫。
4、神舟通用:
神通資料庫是一款計算機資料庫。神通資料庫標准版提供了大型關系型資料庫通用的功能,豐富的數據類型、多種索引類型、存儲過程、觸發器、內置函數、視圖、Package、行級鎖、完整性約束、多種隔離級別、在線備份、支持事務處理等通用特性,系統支持SQL通用資料庫查詢語言。
(3)gp資料庫是哪個公司開發的擴展閱讀
金倉資料庫針對不同類型的客戶需求,KingbaseES V8設計並實現了企業版、標准版、專業版版等多類版本。這些版本全部構建於同一資料庫引擎內。在不同平台上,這些版本完全兼容。資料庫應用程序可從筆記本電腦擴展到台式機、大型資料庫伺服器,以至整個企業網路,而無需重新設計。
神通資料庫安全版為了滿足政府、國防、軍工等對數據安全有特殊要求的行業應用需求,構建一個完備的數據安全存儲和訪問體系,從用戶連接資料庫那一刻起,到將數據存放於存儲介質中,每一個環節都有安全上的防控措施,為用戶提供了系統的資料庫內置安全解決方案。