天天看點

資料庫技術的發展研究

1 引言

資料庫技術是從二十世紀七十年代提出的,它是資料處理和應用的重要工具。那個時代的資料庫技術是當代資料庫技術的基本原型,也稱為資料庫技術的三次“革命”,七十年代左右出現的層次網狀資料庫,到八十年代早期出現的關系資料庫。随着應用領域的擴充,關系資料庫突出了很多自身限制,以至于後來出現的面向對象資料庫系統的出現,也是當今資料庫技術範疇探索的可取方向。從總體上來說,資料的處理也曆經了三次“革命”,第一次“革命”是手工記錄,那時候記錄資料是純人力執行;第二次“革命”是檔案系統,是在計算機的誕生以後;第三次“革命”是資料庫記錄,這時候的資料處理已經趨于完善。資料庫技術是針對檔案系統所不能處理的問題,也就是不能資料共享和資料管理所提出的。該技術與人工智能技術以及網絡通訊技術,程式開發技術等技術的相結合,使得資料庫技術有了更為寬廣的應用前景。

2  早期資料庫技術的發展

2.1  第一代資料庫技術

二十世紀下半葉,資料庫這個名詞誕生,其作用就像名字一樣,用來存放管理資料的倉庫,資料倉庫,也就是存取資料的一個站點。資料庫的一般定義是:存儲在存儲空間内、具有組織性、具有共享性的資料大彙聚,其首要作用,就是使資料庫中的資源資訊,得到更好的共享,以及資料的安全性提高,友善對資料的管理。從二十世紀七十年代就有了資料庫的基本雛形,是建立在資料庫上的一種對資料進行操作的一種技術。随着計算機技術在各個行業内的蔓延開展和普遍應用,磁盤技術取得飛速進展,系統檔案所展現的弊端,加快了資料庫技術的誕生[1]。

早期的資料庫技術大體分為第一代和第二代資料庫技術。第一代是以層次,網狀資料模型的資料庫技術。層次模型資料庫結構圖如圖1所示。

結點R1
  結點R2
  結點R3
結點R4
結點R5

圖1 層次模型資料庫技術結構圖

在層次模型資料庫中,每個結點隻有一個雙親,可以有多個子女結點。是以,資料模型本身優點就是比較單一,實體之間的聯系也是固定好的,并且都是預先定義好的,完整性也比較高,層次模型的資料庫技術最大的優點就是讓人一目了然。但是現實世界中,有很多聯系不是層次模式能描述的,多對多的聯系,一個結點有很多雙親等,在描述這樣的聯系的時候,層次模式避免不了有點麻煩。

與層次模型類似,網狀模型資料庫中,每個結點表示一個實體,每個記錄類型可以包含如幹個屬性。結點直接的聯系表示實體直接的聯系。層次模型中子女結點與雙親結點的聯系是唯一的,但是在網狀模型中,這種聯系可以不唯一。是以,網狀模型資料庫可以更适合描述複雜的實體聯系。網狀資料庫結構圖如圖2所示。

結點R1
結點R2
結點R3

圖2 網狀模型資料庫技術結構圖

相對于層次資料庫技術,網狀模型資料庫更能直覺的描述出複雜的對象之間的聯系,一個結點可以有多個雙親,存取效率也大大提高。但是随着結構的複雜,不容易使使用者掌握,同時也加重了程式設計的負擔。

總的來說,第一代資料庫技術具有以下特點:

  1. 支援三級模式體系結構,通常我們講的三級模式是指外模式,模式,内模式,模式直接具備轉換功能。
  2. 存取路徑可以用來表示資料之間的聯系,資料庫不僅是用來存放資料,還可以存儲資料之間的關系。是以在層次和網狀資料庫技術中,資料之間的聯系都是用存取路徑來表示的
  3. 資料定義語言都是獨立的。在層次和網狀資料庫技術中,有獨立的資料定義語言,用來描述資料庫的外模式,模式和内模式以及互相的映像。而且這三種模式一旦定義,很難被修改,這就要求資料庫操作人員在應用資料庫時,不僅要充分考慮目前需求,還要考慮客戶以後有可能的需求。
  4. 導航資料操縱語言。在層次和網狀資料庫技術中,對資料的查詢和操縱是一次一個記錄的導航式過程化語言。這類語言通常會嵌入到一種進階語言,使得程式設計變得非常繁瑣,應用程式的可移動性變得很低,資料邏輯的獨立性也必較差,但是存取效率比較高[2]。

2.2  第二代資料庫技術

由于現實世界中很多聯系已經不能用層次和網狀來描述,是以,1970年IBM公司提出了關系模型的資料庫技術概念,為關系模型資料庫技術的發展,提供了大量理論依據,成為資料庫技術發展開天辟地的大事件。第二代資料庫技術即關系模型資料庫技術剛一問世,就因為自身簡單的概念,易懂易學的資料庫語言,備受客戶青睐。因為客戶不需要了解複雜的存取路徑,隻需要知道要做什麼,就能對資料庫操作

關系模型資料庫技術,是支援關系模型的資料庫系統操作技術,是以關系模型為基礎的。所謂關系,就是指描述對象直接的聯系,通常将一個沒有重複行和重複列的二維表看成一個關系,每一個關系都有一個關系名。下面介紹一下關系資料庫技術的結構如表1所示。

表1 關系模式資料庫結構

姓名 學号 性别 出生日期 籍貫
張三 20102333 1990-12-12 山東
李四 20102223 1992-3-4 北京
王五 20102234 1991-2-3 上海

如表1所示,在管理學生資訊應用上,其中每個學生都對應多個關系,用關系模型資料庫會更加友善。是以,關系模型資料庫技術具有以下特點:

  1. 關系資料庫技術對實體以及實體之間的聯系,都是通過關系來描述的,對各種各樣的使用者提供的資料格式都是統一的,使使用者掌握起來更加友善。
  2. 關系模型資料庫技術語言,具有非過程化特性。它可以使使用者從資料庫記錄的導航式程式設計中解脫出來,大大降低了程式設計難度,使得非專業使用者也能使用
  3. 資料有較強的獨立性,使用者不用關心資料的邏輯結構,隻需了解資料之間的聯系[3]。

3  資料庫技術發展的現狀

3.1 資料庫技術的主流

曆經幾個時代的發展,當今使用最為廣泛的是關系資料庫系統和面向對象資料庫技術,其中關系資料庫技術在當代資料庫的地位依然不可撼搖。直到九十年代早期,關系資料庫依然受到大衆愛戴,但是面向對象型資料庫對它産生的“威脅”仍然不可小視。面向對象資料庫技術是把面向對象和資料庫技術巧妙的連接配接在一起,使得對資料的分析、設計,最大程度的滿足人們的需求,使得從業人員既能保證工作品質又能保證工作效率。當今,一部分人預言下一代資料庫将會是支援XML格式模型的新型資料庫,他們是根據網絡使用範圍的增加,XML資料的頻繁使用。相反,另外一部分學者無論是處理XML格式資料、還是複雜的多媒體内容管理,關系型資料庫技術都必将成為主流。因為理論上那些執行指令都是建立在關系系統資料庫技術基礎上的擴充。盡管他們在對下一代的新型資料庫探讨中究竟會朝着什麼樣的方向發展問題上具有争議,但他們中大多數人不會否認關系型資料庫技術在當今的地位。

3.2面向對象資料庫技術的誕生

面向對象資料庫技術屬于第三代資料庫技術。有人說90年代是資料庫的時代,随着人工智能技術,網絡通訊技術的普及,有效的刺激了資料庫技術的發展。基于第一代和第二代資料庫自身的局限性,迫切需要開發一種功能先進、通用性強的資料庫。1989年,為了給OODB定義,M.Ackinson通過“面向對象資料庫宣言”一文,提出了面向對象資料庫所具備的特性和資料庫的相關基本原則,即複雜對象性,計算完備性,對象辨別性,封裝性等等[4]。為了滿足各種新技術對資料庫操作的需求,面向資料庫技術誕生了。類似許多複雜對象,動态資料,面向對象資料庫巧妙的處理了對資料操作的複雜問題。目前的面向對象資料庫從理論到實踐,均已受到廣泛的關注。

3.3 移動資料庫技術的發展

最主要的特點也是最重要的特點就是資料庫技術的應用範圍涉及到各個技術範圍。首先,計算機其它新興領域中技術的革新,極大的刺激了資料庫技術的革新。是以,移動資料庫技術誕生了。簡單點說,移動資料庫技術就是空間資料庫與時态資料庫技術的結合體。空間對象随時間而不斷的發生變化,稱為時空變化。在時空資料庫中,一般分為兩類對象,一類是靜态的對象,另一類是動态的對象。雖然傳統資料庫技術已經非常完善,但是要處理資料庫中不斷變化的資料,還需要考慮移動資料所具有的特性,是以,移動資料庫技術在當代資料庫技術中有着舉足輕重的地位。例如,移動資料庫技術在導航應用如圖3所示[5]。

使用者界面
位置資訊子系統
查詢處理子系統
移動對象子系統
移動對象管理系統
移動對象索引系統
地圖生成管理子系統
資料庫
使用者

圖3 移動資料庫技術應用

3.4 分布式資料庫技術的探索

基于以資料庫技術來滿足資料庫應用的不同要求的特殊應用,在傳統基礎上的資料庫,結合各種專業應用的特點,發展起來的分布式資料庫技術,這是資料庫技術發展的一個突破點。分布式資料庫技術,是指實體上分散,而邏輯上集中的資料庫技術。分布式資料庫技術,将地理位置上分散而處理卻需要不同程度集中的,多個邏輯機關聯系起來,組成一個資料庫系統。分布式資料庫技術核心原理如圖4所示[6]。

局部資料庫

局部概念模式

局部内模式

網絡
局部資料庫
局部資料庫
全局資料字典
全局資料字典
全局外模式

局部

模式

圖4 分布式資料庫技術

3.5多媒體資料庫技術産生的影響極其廣泛

傳統的資料庫技術處理的隻是文本資料,是以,我們把其他媒體資料稱之為多媒體,例如視訊,音頻等[7]。嚴格說來,多媒體是指單一的媒體,但是由多種媒體來表達的資料形式。要管理這些資料,隻建立一個存放他們的資料庫,是沒多少用處的。關鍵所在,是對多媒體快速檢索,才能有效的利用這些多媒體資料。多媒體資料庫技術的應用原理如圖5所示。

多媒體資料庫
現場媒體
預編媒體
離散媒體
聯系媒體
多元媒體
生成模式
時間模式
表演模式

圖5 多媒體資料庫技術應用原理

4  資料庫技術發展的方向

由關系型資料庫技術轉向其他資料庫技術的幾個關鍵問題:面向對象資料庫技術,有很大可能性取代關系型資料庫技術的地位,因為他們發現現有的關系模式資料庫技術來描述現實的複雜的對象已經導緻工作效率的極度下降。與此相反,面向對象的資料資料庫技術所呈現的基本成熟的理論重心以及實踐的根本思想都已經趨于成熟,使得面向對象資料庫技術與人們執行處理資料對象的需求更加吻合,用它來處理複雜對象,更加人性化。對于這個觀點,有人提出明确态度,分析出将來的資料庫技術,勢必朝着面向對象資料庫技術發展。另一觀點認為,也可以在關系模型資料庫中引入面向對象的新型資料庫技術,即面向對象的關系模型資料庫技術。關系型資料庫技術幾乎是目前用來衡量資料庫系統完美與否的核心尺度,關系和正常語言基本可實作指定的對資料庫進行資料操作,但其非常局限的資料類型、簡單的建立模型功能、結構制約性等一系列因素,最終導緻關系型資料庫技術的發展停滞不前。衆所周知,早期面向對象資料庫技術是由一種程式設計語言發展來的,其理論依據是用基本元素來闡述複雜的對象,其本身是以現實世界的實體為對象,但它的适應性和靈活性不如關系型資料庫技術。因而,一部分研究人員認為将關系型資料庫的靈活性導入到面向對象型資料庫技術,未必不是進行研讨資料庫技術一個有效的發展政策[8]。雖然面向對象資料庫技術的具備可以描述複雜的資料類型和模型,但是,不少學者因為其沒有一定的資料模式以及格式理論而對其未來産生質疑,是以沒有嚴謹的資料邏輯理論,可能成為面向對象型資料庫技術發展的障礙。是以,又有研究人員提出演繹資料庫技術,是指具有演繹推理能力的資料庫。普通情況下,它是由一個資料庫管理系統以及一個規則管理系統來共同完成的。存儲在資料庫中的事實資料稱為外延資料庫,而事實上是由邏輯規則定義為内涵資料庫。重要的探索内容是如何有效地計算邏輯規則,如遞歸查詢的優化、規則的維護等。而演繹資料庫僅僅隻能處理平面的資料類型,盡管它具有堅實的理論基礎。是以,将兩者互補,也是學者們所預言的又一個方向[9]。

綜上所述,推動資料庫技術朝各個方向發展的三個直接因素,總體包括資料、領域需求以及資料庫技術應用時效性。特别是網際網路的出現,需要處理的資料類型複雜度不斷提高和當代資料資源的迅速增長。與此同時,資料庫應用的領域也不斷的涉及到更深更廣的空間擴充。行業領域的資訊一體化也快速改變了的資料庫技術的發展環境,從以前的對資料庫低依賴性,到現在的基本完全依賴資料庫,使資料庫技術革新者肩負起更重的任務。我們能從這些發展中總結出資料庫技術發展所呈現的大緻規律,并通過綜合一系列變化的因素,分析出暗中推動着資料庫技術的前進的步伐的直接動力,而一系列新的資料庫技術,例如上面說的分布資料庫技術、多媒體資料庫技術、移動資料庫技術等技術的産生,就是這些因素綜合作用的結果。

5 資料庫技術發展的前景

5.1  雲資料庫技術

處于目前最前沿的資料庫技術當屬雲資料庫技術,作為一項雲計算技術,它是在軟體成為應用潮流後的大背景下一步步成長起來的。首先,雲計算很大程度地增強了資料庫的對資料的存儲能力,消除了對人員、硬體、軟體等重複的配置,讓軟硬體更新變得更加容易,同時,許多背景功能被虛拟化。其次,雲資料庫技術具備很高的可擴充性以及很高的可用性,另一方面還支援資源有效分發。在雲資料庫技術應用當中,用戶端根本不需要了解雲資料庫的底層細節,所有的底層硬體都已經被虛拟化,對用戶端而言是透明的。它就好比在使用一個運作在單一伺服器上的資料庫一樣,既可以非常友善,容易的操作,同時又可以在理論上獲得非常強大的存儲和運作能力。雲資料庫技術原理如圖6所示[10]。

雲端 資料存儲

計算

應用伺服器
Web伺服器
桌面用戶端
Web用戶端
移動用戶端
第三方服務

圖6 雲資料庫技術原理

5.2 NoSQL資料庫技術

對于大型網站來說,可能每天存在着大量動态資料需要處理,而關系模型的資料庫操作技術已經顯得有些力不從心。另一方面,好多操作都要求單表查詢,是以,關系模型的資料庫技術在這些越來越多的應用場景下顯得不占優勢了。NoSQL資料庫技術就是為了解決這類問題的非關系資料庫應運而生。NoSQL是非關系型資訊處理的模糊概念。它不僅打破了長久以來關系型資料庫與ACID理論大一統的局面,而且還撼動了關系模型資料庫技術在目前資料庫應用中的地位。NoSQL 資料存儲不需要特定的多表結構,往往也不存在關聯操作。當今的軟硬體應用體系結構,需要資料存儲能夠滿足橫向伸縮性,而 NoSQL存儲就能很好的滿足這個需求。其性能,在資料處理上是關系型資料庫無法相比的。其結構原理如圖7所示[11]。

MySQL資料庫
某些隻讀NoSQL資料庫
用戶端
NoSQL資料集

圖7 NoSQL資料庫結構圖

雖然NoSQL資料庫的種類很多,但它們都有一個共同的特征,那就是去掉關系型資料庫的關系模式。資料之間無關聯,這樣就使得資料在使用起來非常容易擴充。也在架構的層面上帶來了非常便利的可擴充的能力。另一方面,NoSQL資料庫尤其在大資料量下,所表現出具有非常高的讀寫性能,這得益于它的無關系性,簡單的資料庫結構。

6  總結

資料庫技術是近年來各個領域資料庫系統的重點研究對象。但由于應用領域環境的特殊性,傳統的資料庫技術并不能直接應用于目前的計算環境。本論文主要讨論了早期和目前資料庫的技術特點,總結了各種資料庫現階段在各方面的應用以及存在的一些問題,最後展望了最新資料庫技術在未來的應用前景。但是資料庫技術是一項新型且複雜的技術,涉及的應用範圍比較廣泛,我們國外的一些資料庫技術研究不是太深。想要更深入的了解研究資料庫技術,還需要全體計算機從事研究人員做進一步的研究。