分布式數(shù)據(jù)庫(kù)系統(tǒng)(DDBS)概述
什么是分布式數(shù)據(jù)庫(kù):
分布式數(shù)據(jù)庫(kù)系統(tǒng)是在集中式數(shù)據(jù)庫(kù)系統(tǒng)的基礎(chǔ)上發(fā)展來(lái)的。是數(shù)據(jù)庫(kù)技術(shù)與網(wǎng)絡(luò)技術(shù)結(jié)合的產(chǎn)物。
分布式數(shù)據(jù)庫(kù)系統(tǒng)有兩種:一種是物理上分布的,但邏輯上卻是集中的。這種分布式數(shù)據(jù)庫(kù)只適宜用途比較單一的、不大的單位或部門(mén)。另一種分布式數(shù)據(jù)庫(kù)系統(tǒng)在物理上和邏輯上都是分布的,也就是所謂聯(lián)邦式分布數(shù)據(jù)庫(kù)系統(tǒng)。由于組成聯(lián)邦的各個(gè)子數(shù)據(jù)庫(kù)系統(tǒng)是相對(duì)“自治”的,這種系統(tǒng)可以容納多種不同用途的、差異較大的數(shù)據(jù)庫(kù),比較適宜于大范圍內(nèi)數(shù)據(jù)庫(kù)的集成。
分布式數(shù)據(jù)庫(kù)系統(tǒng)(DDBS)包含分布式數(shù)據(jù)庫(kù)管理系統(tǒng)(DDBMS)和分布式數(shù)據(jù)庫(kù)(DDB)。
在分布式數(shù)據(jù)庫(kù)系統(tǒng)中,一個(gè)應(yīng)用程序可以對(duì)數(shù)據(jù)庫(kù)進(jìn)行透明操作,數(shù)據(jù)庫(kù)中的數(shù)據(jù)分別在不同的局部數(shù)據(jù)庫(kù)中存儲(chǔ)、由不同的DBMS進(jìn)行管理、在不同的機(jī)器上運(yùn)行、由不同的操作系統(tǒng)支持、被不同的通信網(wǎng)絡(luò)連接在一起。
一個(gè)分布式數(shù)據(jù)庫(kù)在邏輯上是一個(gè)統(tǒng)一的整體:即在用戶(hù)面前為單個(gè)邏輯數(shù)據(jù)庫(kù),在物理上則是分別存儲(chǔ)在不同的物理節(jié)點(diǎn)上。一個(gè)應(yīng)用程序通過(guò)網(wǎng)絡(luò)的連接可以訪問(wèn)分布在不同地理位置的數(shù)據(jù)庫(kù)。它的分布性表現(xiàn)在數(shù)據(jù)庫(kù)中的數(shù)據(jù)不是存儲(chǔ)在同一場(chǎng)地。更確切地講,不存儲(chǔ)在同一計(jì)算機(jī)的存儲(chǔ)設(shè)備上。這就是與集中式數(shù)據(jù)庫(kù)的區(qū)別。從用戶(hù)的角度看,一個(gè)分布式數(shù)據(jù)庫(kù)系統(tǒng)在邏輯上和集中式數(shù)據(jù)庫(kù)系統(tǒng)一樣,用戶(hù)可以在任何一個(gè)場(chǎng)地執(zhí)行全局應(yīng)用。就好那些數(shù)據(jù)是存儲(chǔ)在同一臺(tái)計(jì)算機(jī)上,有單個(gè)數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)管理一樣,用戶(hù)并沒(méi)有什么感覺(jué)不一樣。
分布式數(shù)據(jù)庫(kù)中每一個(gè)數(shù)據(jù)庫(kù)服務(wù)器合作地維護(hù)全局?jǐn)?shù)據(jù)庫(kù)的一致性。
分布式數(shù)據(jù)庫(kù)系統(tǒng)是一個(gè)客戶(hù)/服務(wù)器體系結(jié)構(gòu)。
在系統(tǒng)中的每一臺(tái)計(jì)算機(jī)稱(chēng)為結(jié)點(diǎn)。如果一結(jié)點(diǎn)具有管理數(shù)據(jù)庫(kù)軟件,該結(jié)點(diǎn)稱(chēng)為數(shù)據(jù)庫(kù)服務(wù)器。如果一個(gè)結(jié)點(diǎn)為請(qǐng)求服務(wù)器的信息的一應(yīng)用,該結(jié)點(diǎn)稱(chēng)為客戶(hù)。在ORACLE客戶(hù),執(zhí)行數(shù)據(jù)庫(kù)應(yīng)用,可存取數(shù)據(jù)信息和與用戶(hù)交互。在服務(wù)器,執(zhí)行ORACLE軟件,處理對(duì)ORACLE數(shù)據(jù)庫(kù)并發(fā)、共享數(shù)據(jù)存取。ORACLE允許上述兩部分在同一臺(tái)計(jì)算機(jī)上,但當(dāng)客戶(hù)部分和服務(wù)器部分是由網(wǎng)連接的不同計(jì)算機(jī)上時(shí),更有效。
分布處理是由多臺(tái)處理機(jī)分擔(dān)單個(gè)任務(wù)的處理。在ORACLE數(shù)據(jù)庫(kù)系統(tǒng)中分布處理的例子如:
客戶(hù)和服務(wù)器是位于網(wǎng)絡(luò)連接的不同計(jì)算機(jī)上。
單臺(tái)計(jì)算機(jī)上有多個(gè)處理器,不同處理器分別執(zhí)行客戶(hù)應(yīng)用。
參與分布式數(shù)據(jù)庫(kù)的每一服務(wù)器是分別地獨(dú)立地管理數(shù)據(jù)庫(kù),好像每一數(shù)據(jù)庫(kù)不是網(wǎng)絡(luò)化的數(shù)據(jù)庫(kù)。每一個(gè)數(shù)據(jù)庫(kù)獨(dú)立地被管理,稱(chēng)為場(chǎng)地自治性。場(chǎng)地自治性有下列好處:
系統(tǒng)的結(jié)點(diǎn)可反映公司的邏輯組織。
由局部數(shù)據(jù)庫(kù)管理員控制局部數(shù)據(jù),這樣每一個(gè)數(shù)據(jù)庫(kù)管理員責(zé)任域要小一些,可更好管理。
只要一個(gè)數(shù)據(jù)庫(kù)和網(wǎng)絡(luò)是可用,那么全局?jǐn)?shù)據(jù)庫(kù)可部分可用。不會(huì)因一個(gè)數(shù)據(jù)庫(kù)的故障而停止全部操作或引起性能瓶頸。
故障恢復(fù)通常在單個(gè)結(jié)點(diǎn)上進(jìn)行。
每個(gè)局部數(shù)據(jù)庫(kù)存在一個(gè)數(shù)據(jù)字典。
結(jié)點(diǎn)可獨(dú)立地升級(jí)軟件。
可從分布式數(shù)據(jù)庫(kù)的所有結(jié)點(diǎn)存取模式對(duì)象,因此正像非分布的局部的DBMS,必須提供一種機(jī)制,可在局部數(shù)據(jù)庫(kù)中引用一個(gè)對(duì)象。分布式DBMS必須提供一種命名模式,以致分布式數(shù)據(jù)庫(kù)中一個(gè)對(duì)象可在應(yīng)用中唯一標(biāo)識(shí)和引用。一般在層次結(jié)構(gòu)的每一層實(shí)施唯一性。分布式DBMS簡(jiǎn)單地?cái)U(kuò)充層次命名模型,實(shí)施在網(wǎng)絡(luò)上唯一數(shù)據(jù)庫(kù)命名。因此一個(gè)對(duì)象的全局對(duì)象名保證在分布式數(shù)據(jù)庫(kù)內(nèi)是唯一。
【編輯推薦】
- SQL Server數(shù)據(jù)庫(kù)的分布式數(shù)據(jù)庫(kù)系統(tǒng)的***目標(biāo)
- 了解分布式數(shù)據(jù)庫(kù)系統(tǒng)優(yōu)勢(shì)與劣勢(shì)
- 數(shù)據(jù)庫(kù)大型應(yīng)用解決方案總結(jié)