分布式數(shù)據(jù)庫(kù):
分布式數(shù)據(jù)庫(kù)系統(tǒng)是在集中式數(shù)據(jù)庫(kù)系統(tǒng)的基礎(chǔ)上發(fā)展起來(lái)的,是數(shù)據(jù)庫(kù)技術(shù)與計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的產(chǎn)物。分布式數(shù)據(jù)庫(kù)系統(tǒng)是具有管理分布數(shù)據(jù)庫(kù)功能的計(jì)算機(jī)系統(tǒng)。一個(gè)分布式數(shù)據(jù)庫(kù)是由分布于計(jì)算機(jī)網(wǎng)絡(luò)上的多個(gè)邏輯相關(guān)的數(shù)據(jù)庫(kù)組成的集合,網(wǎng)絡(luò)中的每個(gè)結(jié)(一般在系統(tǒng)中的每一臺(tái)計(jì)算機(jī)稱為結(jié)點(diǎn)node)具有獨(dú)立處理的能力(稱為本地自治),可執(zhí)行局部應(yīng)用,同時(shí),每個(gè)結(jié)點(diǎn)通過(guò)網(wǎng)絡(luò)通訊系統(tǒng)也能執(zhí)行全局應(yīng)用。所謂局部應(yīng)用即僅對(duì)本結(jié)點(diǎn)的數(shù)據(jù)庫(kù)執(zhí)行某些應(yīng)用。所謂全局應(yīng)用(或分布應(yīng)用)是指對(duì)兩個(gè)以上結(jié)點(diǎn)的數(shù)據(jù)庫(kù)執(zhí)行某些應(yīng)用。支持全局應(yīng)用的系統(tǒng)才能稱為分布式數(shù)據(jù)庫(kù)系統(tǒng)。對(duì)用戶來(lái)說(shuō),一個(gè)分布式數(shù)據(jù)庫(kù)系統(tǒng)邏輯上看如同集中式數(shù)據(jù)庫(kù)系統(tǒng)一樣,用戶可在任何一個(gè)場(chǎng)地執(zhí)行全局應(yīng)用。
分布式數(shù)據(jù)庫(kù)系統(tǒng)是由分布式數(shù)據(jù)庫(kù)管理系統(tǒng)和分布式數(shù)據(jù)庫(kù)組成。分布式數(shù)據(jù)庫(kù)管理系統(tǒng)(簡(jiǎn)稱DDBMS)是建立、管理和維護(hù)分布式數(shù)據(jù)庫(kù)的一組軟件。
分布式數(shù)據(jù)庫(kù)系統(tǒng)適合于單位分散的部門,系統(tǒng)的結(jié)點(diǎn)可反映公司的邏輯組織,允許各部門將其常用數(shù)據(jù)存貯在本地,實(shí)施就地存放就地使用,降低通訊費(fèi)用,并可提高響應(yīng)速度。分布式數(shù)據(jù)庫(kù)可將數(shù)據(jù)分布在多個(gè)結(jié)點(diǎn)上,增加適當(dāng)?shù)娜哂�,可提高系統(tǒng)的可靠性,只要一個(gè)數(shù)據(jù)庫(kù)和網(wǎng)絡(luò)可用,那么全局?jǐn)?shù)據(jù)庫(kù)可一部分可用。不會(huì)因一個(gè)數(shù)據(jù)庫(kù)的故障而停止全部操作或引起性能瓶頸。故障恢復(fù)通常在單個(gè)結(jié)點(diǎn)上進(jìn)行。結(jié)點(diǎn)可獨(dú)立地升級(jí)軟件。每個(gè)局部數(shù)據(jù)庫(kù)存在一個(gè)數(shù)據(jù)字典。由于分布式數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)的特點(diǎn),它和集中式數(shù)據(jù)庫(kù)系統(tǒng)相比具有可擴(kuò)展性,為擴(kuò)展系統(tǒng)的處理能力提供了較好的途徑。
理想的分布式系統(tǒng)使用時(shí)應(yīng)該精確地像一個(gè)非分布式系統(tǒng)的樣子。1986年C.J. Date為理想的分布式系統(tǒng)創(chuàng)立了12條細(xì)則,這12條全功能分布式數(shù)據(jù)庫(kù)系統(tǒng)的規(guī)則和目標(biāo)具體是:
(1) 局部結(jié)點(diǎn)自治性,網(wǎng)絡(luò)中的每個(gè)結(jié)點(diǎn)是獨(dú)立的數(shù)據(jù)庫(kù)系統(tǒng),它有自己的數(shù)據(jù)庫(kù),運(yùn)行它的局部DBMS,執(zhí)行局部應(yīng)用,具有高度的自治性。
(2) 不依賴中心結(jié)點(diǎn),即每個(gè)結(jié)點(diǎn)具有全局字典管理、查詢處理、并發(fā)控制和恢復(fù)控制等功能。
(3) 能連續(xù)操作,該目標(biāo)使中斷分布式數(shù)據(jù)庫(kù)服務(wù)情況減至最少,當(dāng)一個(gè)新場(chǎng)地合并到現(xiàn)有的分布式系統(tǒng)、或?qū)⒎植际较到y(tǒng)中撤離一場(chǎng)地不會(huì)導(dǎo)致任何不必要的服務(wù)中斷;在分布式系統(tǒng)中可動(dòng)態(tài)地建立和消除片段,而不中止任何組成部分的場(chǎng)地或數(shù)據(jù)庫(kù);應(yīng)盡可能在不使整個(gè)系統(tǒng)停機(jī)的情況下對(duì)組成分布式系統(tǒng)的場(chǎng)地的DBMS進(jìn)行升級(jí)。
(4) 具有位置獨(dú)立性(或稱位置透明性),用戶不必知道數(shù)據(jù)的物理存儲(chǔ)地,可工作得像數(shù)據(jù)全部存儲(chǔ)在局部場(chǎng)地一樣。一般位置獨(dú)立性需要有分布式數(shù)據(jù)命名模式和字典子系統(tǒng)的支持。
(5) 分片獨(dú)立性(或稱分片透明性),分布式系統(tǒng)如果可將給定的關(guān)系分成若干塊或片,可提高系統(tǒng)的處理性能。利用分片將數(shù)據(jù)存儲(chǔ)在最頻繁使用它的位置上,使大部分操作是局部操作,減少網(wǎng)絡(luò)的信息流量。如果系統(tǒng)支持分片獨(dú)立性,用戶工作起來(lái)就像數(shù)據(jù)全然不是分片的一樣。
(6) 數(shù)據(jù)復(fù)制獨(dú)立性,是指將給定的關(guān)系(或片段)可在物理級(jí)用許多不同存儲(chǔ)副本或復(fù)制品在許多不同場(chǎng)地上存儲(chǔ)。支持?jǐn)?shù)據(jù)復(fù)制的系統(tǒng)應(yīng)當(dāng)支持復(fù)制獨(dú)立性,用戶工作可像它全然沒(méi)有存儲(chǔ)副本一樣地工作。
(7) 支持分布式查詢處理,在分布數(shù)據(jù)庫(kù)系統(tǒng)中有三類查詢:局部查詢、遠(yuǎn)程查詢和全局查詢。局部查詢和遠(yuǎn)程查詢僅涉及單個(gè)結(jié)點(diǎn)的數(shù)據(jù)(本地的或遠(yuǎn)程的),查詢優(yōu)化采用的技術(shù)是集中式數(shù)據(jù)庫(kù)的查詢優(yōu)化技術(shù)。全局查詢涉及多個(gè)結(jié)點(diǎn)上的數(shù)據(jù),其查詢處理和優(yōu)化要復(fù)雜得多。
(8) 支持分布事務(wù)管理,事務(wù)管理有兩個(gè)主要方面:恢復(fù)控制和并發(fā)控制。在分布式系統(tǒng)中,單個(gè)事務(wù)會(huì)涉及到多個(gè)場(chǎng)地上的代碼執(zhí)行,會(huì)涉及到多個(gè)場(chǎng)地上的更新,可以說(shuō)每個(gè)事務(wù)是由多個(gè)“代理”組成,每個(gè)代理代表在給定場(chǎng)地上的給定事務(wù)上執(zhí)行的過(guò)程。在分布式系統(tǒng)中須保證事務(wù)的代理集,或者全部一致交付,或者全部一致回滾。
(9) 具有硬件獨(dú)立性,希望在不同硬件系統(tǒng)上運(yùn)行同樣的DBMS。
(10) 具有操作系統(tǒng)獨(dú)立性,希望在不同的操作系統(tǒng)上運(yùn)行DBMS。
(11) 具有網(wǎng)絡(luò)獨(dú)立性,如果系統(tǒng)能夠支持多個(gè)不同的場(chǎng)地,每個(gè)場(chǎng)地有不同的硬件和不同的操作系統(tǒng),則要求該系統(tǒng)能支持各種不同的通信網(wǎng)絡(luò)。
(12) 具有DBMS獨(dú)立性,實(shí)現(xiàn)對(duì)異構(gòu)型分布式系統(tǒng)的支持。理想的分布式系統(tǒng)應(yīng)該提供DBMS獨(dú)立性。
上述的全功能分布式數(shù)據(jù)庫(kù)系統(tǒng)的準(zhǔn)則和目標(biāo)起源于:一個(gè)分布式數(shù)據(jù)庫(kù)系統(tǒng),對(duì)用戶來(lái)說(shuō),應(yīng)當(dāng)看上去完全像一個(gè)非分布式系統(tǒng)。
DDBS的基本特點(diǎn)
u u 物理分布性:數(shù)據(jù)不是存儲(chǔ)在一個(gè)場(chǎng)地上,而是存儲(chǔ)在計(jì)算機(jī)網(wǎng)絡(luò)的多個(gè)場(chǎng)地上。
u u 邏輯整體性:數(shù)據(jù)物理分布在各個(gè)場(chǎng)地,但邏輯上是一個(gè)整體,它們被所有用戶(全局用戶)共享,并由一個(gè)DDBMS統(tǒng)一管理。
u u 場(chǎng)地自治性:各場(chǎng)地上的數(shù)據(jù)由本地的DBMS管理,具有自治處理能力,完成本場(chǎng)地的應(yīng)用(局部應(yīng)用)。
u u 場(chǎng)地之間協(xié)作性:各場(chǎng)地雖然具有高度的自治性,但是又相互協(xié)作構(gòu)成一個(gè)整體。
分布式數(shù)據(jù)庫(kù)的體系結(jié)構(gòu)
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |