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