① 資料庫技術的發展過程經歷了哪些階段
可以參考 PingCAP 的 介紹, 同事了解下 國內分布式資料庫排行榜一的 TiDB. 有更多問題,可以到 AskTUG 一起討論,多謝。
② 資料庫的發展階段
資料庫發展階段大致劃分為如下的幾個階段:人工管理階段、文件系統階段、資料庫系統階段、高級資料庫階段。 50年代中期之前,計算機的軟硬體均不完善。硬體存儲設備只有磁帶、卡片和紙帶,軟體方面還沒有操作系統,當時的計算機主要用於科學計算。這個階段由於還沒有軟體系統對數據進行管理,程序員在程序中不僅要規定數據的邏輯結構,還要設計其物理結構,包括存儲結構、存取方法、輸入輸出方式等。當數據的物理組織或存儲設備改變時,用戶程序就必須重新編制。由於數據的組織面向應用,不同的計算程序之間不能共享數據,使得不同的應用之間存在大量的重復數據,很難維護應用程序之間數據的一致性。
這一階段的主要特徵可歸納為如下幾點:
*計算機中沒有支持數據管理的軟體。
*數據組織面向應用,數據不能共享,數據重復。
*在程序中要規定數據的邏輯結構和物理結構,數據與程序不獨立。
*數據處理方式——批處理。 這一階段的主要標志是計算機中有了專門管理資料庫的軟體——操作系統(文件管理)。
上世紀50年代中期到60年代中期,由於計算機大容量存儲設備(如硬碟)的出現,推動了軟體技術的發展,而操作系統的出現標志著數據管理步入一個新的階段。在文件系統階段,數據以文件為單位存儲在外存,且由操作系統統一管理。操作系統為用戶使用文件提供了友好界面。文件的邏輯結構與物理結構脫鉤,程序和數據分離,使數據與程序有了一定的獨立性。用戶的程序與數據可分別存放在外存儲器上,各個應用程序可以共享一組數據,實現了以文件為單位的數據共享。
但由於數據的組織仍然是面向程序,所以存在大量的數據冗餘。而且數據的邏輯結構不能方便地修改和擴充,數據邏輯結構的每一點微小改變都會影響到應用程序。由於文件之間互相獨立,因而它們不能反映現實世界中事物之間的聯系,操作系統不負責維護文件之間的聯系信息。如果文件之間有內容上的聯系,那也只能由應用程序去處理。 60年代後,隨著計算機在數據管理領域的普遍應用,人們對數據管理技術提出了更高的要求:希望面向企業或部門,以數據為中心組織數據,減少數據的冗餘,提供更高的數據共享能力,同時要求程序和數據具有較高的獨立性,當數據的邏輯結構改變時,不涉及數據的物理結構,也不影響應用程序,以降低應用程序研製與維護的費用。資料庫技術正是在這樣一個應用需求的基礎上發展起來的。
資料庫技術有如下特點:
* 面向企業或部門,以數據為中心組織數據,形成綜合性的資料庫,為各應用共享。
* 採用一定的數據模型。數據模型不僅要描述數據本身的特點,而且要描述數據之間的聯系。
* 數據冗餘小,易修改、易擴充。不同的應用程序根據處理要求,從資料庫中獲取需要的數據,這樣就減少了數據的重復存儲,也便於增加新的數據結構,便於維護數據的一致性。
*程序和數據有較高的獨立性。
* 具有良好的用戶介面,用戶可方便地開發和使用資料庫。
* 對數據進行統一管理和控制,提供了數據的安全性、完整性、以及並發控制。
從文件系統發展到資料庫系統,這在信息領域中具有里程碑的意義。在文件系統階段,人們在信息處理中關注的中心問題是系統功能的設計,因此程序設計佔主導地位;而在資料庫方式下,數據開始占據了中心位置,數據的結構設計成為信息系統首先關心的問題,而應用程序則以既定的數據結構為基礎進行設計。大事記
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發表了」構建數據倉庫」。 隨著信息管理內容的不斷擴展,出現了豐富多樣的數據模型(層次模型,網狀模型,關系模型,面向對象模型,半結構化模型等),新技術也層出不窮(數據流,Web數據管理,數據挖掘等)。每隔幾年,國際上一些資深的資料庫專家就會聚集一堂,探討資料庫研究現狀,存在的問題和未來需要關注的新技術焦點。過去已有的幾個類似報告包括:1989年Future Directions inDBMS Research-The Laguna BeachParticipants ;1990年DatabaseSystems : Achievements and Opportunities ;1991年W.H. Inmon 發表的《構建數據倉庫》;1995年Database。
③ 資料庫開發工具的發展大致經歷了哪四個主要階段
一、資料庫技術的歷史和發展
資料庫技術是本世紀60年代開始興起的一門信息管理自動化的新興學科,是計算機科學中的
一個重要分支。隨著計算機應用的不斷發展,在計算機應用領域中,數據處理越來越佔主導
地位,資料庫技術的應用也越來越廣泛。
資料庫是數據管理的產物。數據管理是資料庫的核心任務,內容包括對數據的分類、組織、
編碼、儲存、檢索和維護。隨著計算機硬體和軟體的發展,資料庫技術也不斷地發展。從數據
管理的角度看,資料庫技術到目前共經歷了人工管理階段、文件系統階段和資料庫系統階段。 A.人工管理階段 人工管理階段是指計算機誕生的初期(即20世紀50年代後期之前),這個時期的計算機主要用
於科學計算。從硬體看,沒有磁碟等直接存取的存儲設備;從軟體看,沒有操作系統和管理
數據的軟體,數據處理方式是批處理。 這個時期數據管理的特點是:
1. 數據不保存
該時期的計算機主要應用於科學計算,一般不需要將數據長期保存,只是在計算某一課題
時將數據輸入,用完後不保存原始數據,也不保存計算結果。
2. 沒有對數據進行管理的軟體系統
程序員不僅要規定數據的邏輯結構,而且還要在程序中設計物理結構,包括存儲結構、存
取方法、輸入輸出方式等。因此程序中存取數據的子程序隨著存儲的改變而改變,數據與
程序不具有一致性。
3. 沒有文件的概念
數據的組織方式必須由程序員自行設計。
4. 一組數據對應於一個程序,數據是面向應用的
即使兩個程序用到相同的數據,也必須各自定義、各自組織,數據無法共享、無法相互利
用和互相參照,從而導致程序和程序之間有大量重復的數據。 B.文件系統階段 文件系統階段是指計算機不僅用於科學計算,而且還大量用於管理數據的階段(從50年代後
期到60年代中期)。在硬體方面,外存儲器有了磁碟、磁鼓等直接存取的存儲設備。在軟體
方面,操作系統中已經有了專門用於管理數據的軟體,稱為文件系統。 這個時期數據管理的特點是: 1. 數據需要長期保存在外存上供反復使用 由於計算機大量用於數據處理,經常對文件進行查詢、修改、插入和刪除等操作,所以數
據需要長期保留,以便於反復操作。 2. 程序之間有了一定的獨立性 操作系統提供了文件管理功能和訪問文件的存取方法,程序和數據之間有了數據存取的接
口,程序可以通過文件名和數據打交道,不必再尋找數據的物理存放位置,至此,數據有
了物理結構和邏輯結構的區別,但此時程序和數據之間的獨立性尚還不充分。 3. 文件的形式已經多樣化 由於已經有了直接存取的存儲設備,文件也就不再局限於順序文件,還有了索引文件、鏈
表文件等,因而,對文件的訪問可以是順序訪問,也可以是直接訪問。 4. 數據的存取基本上以記錄為單位 C.資料庫系統階段 資料庫系統階段是從60年代後期開始的。在這一階段中,資料庫中的數據不再是面向某個應
用或某個程序,而是面向整個企業(組織)或整個應用的。 資料庫系統階段的特點是: 1. 採用復雜的結構化的數據模型 資料庫系統不僅要描述數據本身,還要描述數據之間的聯系。這種聯系是通過存取路徑來
實現的。 2. 較高的數據獨立性 數據和程序彼此獨立,數據存儲結構的變化盡量不影響用戶程序的使用。 3. 最低的冗餘度 資料庫系統中的重復數據被減少到最低程度,這樣,在有限的存儲空間內可以存放更多的
數據並減少存取時間。 4. 數據控制功能 資料庫系統具有數據的安全性,以防止數據的丟失和被非法使用;具有數據的完整性,以
保護數據的正確、有效和相容;具有數據的並發控制,避免並發程序之間的相互干擾;具
有數據的恢復功能,在資料庫被破壞或數據不可靠時,系統有能力把資料庫恢復到最近某
個時刻的正確狀態。二、三代資料庫系統的發展 數據模型是資料庫系統的核心。按照數據模型發展的主線,資料庫技術的形成過程和發展可從
以下三個方面反映: A. 第一代資料庫系統 層次和網狀資料庫管理系統 層次和網狀資料庫的代表產品是IBM公司在1969年研製出的層次模型資料庫管理系統。層次
資料庫是資料庫系統的先驅,而網狀資料庫則是資料庫概念、方法、技術的奠基。 B. 第二代資料庫系統 關系資料庫管理系統(RDBMS) 1970年,IBM公司的研究員E.F.Codd在題為《大型共享資料庫數據的關系模型》的論文中提
出了資料庫的關系模型,為關系資料庫技術奠定了理論基礎。到了80年代,幾乎所有新開發
的資料庫系統都是關系型的。 真正使得關系資料庫技術實用化的關鍵人物是James Gray。Gray在解決如何保障數據的完整
性、安全性、並發性以及資料庫的故障恢復能力等重大技術問題方面發揮了關鍵作用。 關系資料庫系統的出現,促進了資料庫的小型化和普及化,使得在微型機上配置資料庫系統成
為可能。 C. 新一代資料庫技術的研究和發展 目前已從多方面發展了現行的資料庫系統技術。我們可以從數據模型、新技術內容、應用領
域三個方面概括新一代資料庫系統的發展。 (1) 面向對象的方法和技術對資料庫發展的影響最為深遠 80年代,面向對象的方法和技術的出現,對計算機各個領域,包括程序設計語言、軟體工程、
信息系統設計以及計算機硬體設備等都產生了深遠的影響,也給面臨新挑戰的資料庫技術帶
來了新的機遇和希望。資料庫研究人員借鑒和吸收了面向對象的方法和技術,提出了面向對
象的資料庫模型(簡稱對象模型)。當前有許多研究是建立在資料庫已有的成果和技術上的,
針對不同的應用,對傳統的DBMS,主要是RDBMS進行不同層次上的擴充,例如建立對象關
系(OR)模型和建立對象關系資料庫(ORDB)。 (2) 資料庫技術與多學科技術的有機結合 資料庫技術與多學科技術的有機結合是當前資料庫發展的重要特徵。計算機領域中其他新興
技術的發展對資料庫技術產生了重大影響。傳統的資料庫技術和其他計算機技術的結合、互
相滲透,使資料庫中新的技術內容層出不窮。資料庫的許多概念、技術內容、應用領域,甚
至某些原理都有了重大的發展和變化。建立和實現了一系列新型的資料庫,如分布式資料庫、
並行資料庫、演繹資料庫、知識庫、多媒體庫、移動資料庫等,它們共同構成了資料庫大家
族。 (3) 面向專門應用領域的資料庫技術的研究 為了適應資料庫應用多元化的要求,在傳統資料庫基礎上,結合各個專門應用領域的特點,
研究適合該應用領域的資料庫技術,如工程資料庫、統計資料庫、科學資料庫、空間資料庫、
地理資料庫、Web資料庫等,這是當前資料庫技術發展的又一重要特徵。 同時,資料庫系統結構也由主機/終端的集中式結構發展到網路環境的分布式結構,隨後又發
展成兩層、三層或多層客戶/伺服器結構以及Internet環境下的瀏覽器/伺服器和移動環境下的
動態結構。多種資料庫結構滿足了不同應用的需求,適應了不同的應用環境。