系統(tǒng)架構(gòu)設(shè)計(jì)筆記(11)——分布式數(shù)據(jù)庫(kù)系統(tǒng)

近年來(lái)控轿,隨著計(jì)算機(jī)技術(shù)與網(wǎng)絡(luò)技術(shù)的發(fā)展,特別是 Internet 的興起,分布式數(shù)據(jù)庫(kù)系統(tǒng)得到了很快的發(fā)展和應(yīng)用走趋。

1 分布式數(shù)據(jù)庫(kù)的概念

分布式數(shù)據(jù)庫(kù)系統(tǒng)是相對(duì)于集中式數(shù)據(jù)庫(kù)系統(tǒng)而言的,是將數(shù)據(jù)庫(kù)技術(shù)與網(wǎng)絡(luò)技術(shù)相結(jié)合的產(chǎn)物般堆。

分布式數(shù)據(jù)庫(kù)( Distributed DataBase , DDB )比較確切的定義是:分布式數(shù)據(jù)庫(kù)是由一組數(shù)據(jù)組成的,這組數(shù)據(jù)分布在計(jì)算機(jī)網(wǎng)絡(luò)的不同計(jì)算機(jī)上办斑,網(wǎng)絡(luò)中的每個(gè)結(jié)點(diǎn)具有獨(dú)立處理的能力外恕,成為場(chǎng)地自治,它可以執(zhí)行局部應(yīng)用乡翅,同時(shí)鳞疲,每個(gè)結(jié)點(diǎn)也能通過(guò)網(wǎng)絡(luò)通信子系統(tǒng)執(zhí)行全局應(yīng)用。

負(fù)責(zé)分布式數(shù)據(jù)庫(kù)的建立 蠕蚜、 查詢(xún) 尚洽、 更新 、 復(fù)制 波势、 管理和維護(hù)的軟件翎朱,稱(chēng)為分布式數(shù)據(jù)庫(kù)管理系統(tǒng)( Distributed DataBase Management System, DDBMS)尺铣。分布式數(shù)據(jù)庫(kù)管理系統(tǒng)保證分布式數(shù)據(jù)庫(kù)中數(shù)據(jù)的物理分布對(duì)用戶(hù)的透明性拴曲。一個(gè)計(jì)算機(jī)網(wǎng)絡(luò)組成的計(jì)算機(jī)系統(tǒng),在配置了分布式數(shù)據(jù)庫(kù)管理系統(tǒng)凛忿,并在其上建立了分布式數(shù)據(jù)庫(kù)和相應(yīng)的應(yīng)用程序后澈灼,就稱(chēng)其為分布式數(shù)據(jù)庫(kù)系統(tǒng)( Distributed DataBase System, DDBS)。分布式數(shù)據(jù)庫(kù)管理系統(tǒng)是分布式數(shù)據(jù)庫(kù)系統(tǒng)的核心叁熔。

1.1 特點(diǎn)

分布式數(shù)據(jù)庫(kù)的特點(diǎn)從上面的定義可以看出分布式數(shù)據(jù)庫(kù)系統(tǒng)有以下幾個(gè)特點(diǎn):

(1)數(shù)據(jù)的分布性

分布式數(shù)據(jù)庫(kù)中的數(shù)據(jù)分布于網(wǎng)絡(luò)中的各個(gè)結(jié)點(diǎn)委乌,它既不同于傳統(tǒng)的集中式數(shù)據(jù)庫(kù),也不同于通過(guò)計(jì)算機(jī)網(wǎng)絡(luò)共享的集中式數(shù)據(jù)庫(kù)系統(tǒng)荣回。

(2)統(tǒng)一性

主要表現(xiàn)在數(shù)據(jù)在邏輯上的統(tǒng)一性和數(shù)據(jù)在管理上的統(tǒng)一性?xún)蓚€(gè)方面遭贸。分布式數(shù)據(jù)庫(kù)系統(tǒng)通過(guò)網(wǎng)絡(luò)技術(shù)把局部的 、 分散的數(shù)據(jù)庫(kù)構(gòu)成一個(gè)在邏輯上單一的數(shù)據(jù)庫(kù)心软,從而呈現(xiàn)在用戶(hù)面前的就如同是一個(gè)統(tǒng)一的 壕吹、 集中式的數(shù)據(jù)庫(kù)。這就是數(shù)據(jù)在邏輯上的統(tǒng)一性删铃,因此耳贬,它不同于由網(wǎng)絡(luò)互聯(lián)的多個(gè)獨(dú)立數(shù)據(jù)庫(kù)。分布式數(shù)據(jù)庫(kù)是由分布式數(shù)據(jù)庫(kù)管理系統(tǒng)統(tǒng)一管理和維護(hù)的猎唁,這種管理上的統(tǒng)一性又使它不同于一般的分布式文件系統(tǒng)咒劲。

(3)透明性

用戶(hù)在使用分布式數(shù)據(jù)庫(kù)時(shí),與使用集中式數(shù)據(jù)庫(kù)一樣诫隅,無(wú)須知道其所關(guān)心的數(shù)據(jù)存放在哪里腐魂,存儲(chǔ)了幾次。用戶(hù)需要關(guān)心的僅僅是整個(gè)數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)阎肝。

1.2 優(yōu)點(diǎn)

與集中式數(shù)據(jù)庫(kù)相比挤渔,分布式數(shù)據(jù)庫(kù)具有下列優(yōu)點(diǎn):

(1)堅(jiān)固性好

由于分布式數(shù)據(jù)庫(kù)系統(tǒng)是由多個(gè)位置上的多臺(tái)計(jì)算機(jī)構(gòu)成的,在個(gè)別結(jié)點(diǎn)或個(gè)別通信鏈路發(fā)生故障的情況下风题,它仍然可以降低級(jí)別繼續(xù)工作判导,如果采用冗余技術(shù),還可以獲得一定的容錯(cuò)能力沛硅。因此眼刃,系統(tǒng)的堅(jiān)固性好,即系統(tǒng)的可靠性和可用性好摇肌。

(2)可擴(kuò)充性好

可根據(jù)發(fā)展的需要增減結(jié)點(diǎn)擂红,或?qū)ο到y(tǒng)重新配置,這比用一個(gè)更大的系統(tǒng)代替一個(gè)已有的集中式數(shù)據(jù)庫(kù)要容易得多围小。

(3)可改善性能

在分布式數(shù)據(jù)庫(kù)中可按就近分布昵骤,合理地冗余的原則來(lái)分布各結(jié)點(diǎn)上的數(shù)據(jù),構(gòu)造分布式數(shù)據(jù)庫(kù)肯适,使大部分?jǐn)?shù)據(jù)可以就近訪問(wèn)变秦,避免了集中式數(shù)據(jù)庫(kù)中的瓶頸問(wèn)題,減少了系統(tǒng)的響應(yīng)時(shí)間框舔,提高了系統(tǒng)的效率蹦玫,而且也降低了通信費(fèi)用赎婚。

(4)自治性好

數(shù)據(jù)可以分散管理,統(tǒng)一協(xié)調(diào)樱溉,即系統(tǒng)中各結(jié)點(diǎn)的數(shù)據(jù)操縱和相互作用是高度自治的挣输,不存在主從控制,因此福贞,分布式數(shù)據(jù)庫(kù)較好地滿(mǎn)足了一個(gè)單位中各部門(mén)希望擁有自己的數(shù)據(jù)撩嚼,管理自己的數(shù)據(jù),同時(shí)又想共享其他部門(mén)有關(guān)數(shù)據(jù)的要求挖帘。


雖然分布式數(shù)據(jù)庫(kù)系統(tǒng)與集中式數(shù)據(jù)庫(kù)相比有不少優(yōu)點(diǎn)绢馍,但同時(shí)也需要解決一些集中式數(shù)據(jù)庫(kù)所沒(méi)有的問(wèn)題。首先肠套,異構(gòu)數(shù)據(jù)庫(kù)的集成問(wèn)題是一項(xiàng)比較復(fù)雜的技術(shù)問(wèn)題,目前還很難用一個(gè)通用的分布式數(shù)據(jù)庫(kù)管理系統(tǒng)來(lái)解決這一問(wèn)題猖任。其次你稚,如果數(shù)據(jù)庫(kù)設(shè)計(jì)得不好,數(shù)據(jù)分布不合理朱躺,以致遠(yuǎn)距離訪問(wèn)過(guò)多刁赖,尤其是分布連接操作過(guò)多,不但不能改善性能长搀,反而會(huì)使性能降低宇弛。

1.3 分布式數(shù)據(jù)庫(kù)的分類(lèi)

分布式數(shù)據(jù)庫(kù)及其分布式數(shù)據(jù)庫(kù)管理系統(tǒng),根據(jù)許多因素有不同的分類(lèi)方法源请,總的原則是分布式數(shù)據(jù)庫(kù)及 DDBMS 必須是其數(shù)據(jù)和軟件必定分布在用計(jì)算機(jī)網(wǎng)絡(luò)連接的多個(gè)場(chǎng)地上枪芒。從應(yīng)用需要或本身的特征方面考慮可將它從以下幾個(gè)方面來(lái)劃分:

(1)按 DDBMS 軟件同構(gòu)度來(lái)分

當(dāng)所有服務(wù)器軟件(或每個(gè) LDBMS )和所有客戶(hù)軟件均用相同的軟件時(shí)稱(chēng)為同構(gòu)型分布式數(shù)據(jù)庫(kù);反之谁尸,則稱(chēng)為異構(gòu)型分布式數(shù)據(jù)庫(kù)舅踪。

LDBMS 中的 L 指的是 locale,即現(xiàn)場(chǎng)良蛮。

(2)按局部自治度來(lái)分

當(dāng)對(duì) DDBMS 的存取必須通過(guò)客戶(hù)軟件抽碌,則系統(tǒng)稱(chēng)為無(wú)局部自治;當(dāng)局部事務(wù)允許對(duì)服務(wù)器軟件進(jìn)行直接存取决瞳,則系統(tǒng)稱(chēng)為有一定的局部自治货徙。

自治的兩個(gè)分別是無(wú)局部自治和聯(lián)邦型 DDBMS 或稱(chēng)多數(shù)據(jù)庫(kù)系統(tǒng)。多數(shù)據(jù)庫(kù)系統(tǒng)本質(zhì)上是集中式與分布式的混合體:對(duì)一個(gè)局部用戶(hù)而言皮胡,它是自治的痴颊,那么是一個(gè)集中式 DBS ;對(duì)一個(gè)全局用戶(hù)而言胸囱,則是一個(gè)分布式 DBS 祷舀,但這個(gè)DDBS 沒(méi)有全局概念模式,只有一個(gè)由各局部數(shù)據(jù)庫(kù)提供給全局允許共享的有關(guān)模式的集成。

(3)按分布透明度來(lái)分

分布透明度的另一個(gè)概念是模式集成度裳扯。若用戶(hù)可以對(duì)集成模式操作不需要涉及任何片段 抛丽、 重復(fù) 、 分布等信息時(shí)饰豺,則這類(lèi) DDBMS 稱(chēng)為有高度分布透明(或高度模式集成)亿鲜;若用戶(hù)必須知道所有關(guān)于片段 、 分配 冤吨、 重復(fù)等信息時(shí)蒿柳,則這類(lèi) DDBMS 沒(méi)有分布透明,沒(méi)有模式集成度漩蟆。當(dāng)系統(tǒng)不提供分布透明垒探,用戶(hù)查詢(xún)時(shí)必須指定特定的場(chǎng)地 、 特定的片段等信息怠李,當(dāng)然 DDBMS 可以部分分布透明(介于兩者之間)圾叼。

1.4 分布式數(shù)據(jù)庫(kù)的目標(biāo)

理想的分布式系統(tǒng)使用時(shí)應(yīng)該精確得像一個(gè)非分布式系統(tǒng)。概括起來(lái)有以下 12 條具體規(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)不依賴(lài)中心結(jié)點(diǎn)

即每個(gè)結(jié)點(diǎn)具有全局字典管理 、 查詢(xún)處理 唐础、 并發(fā)控制和恢復(fù)控制等功能箱歧。

(3)能連續(xù)操作

該目標(biāo)使中斷分布式數(shù)據(jù)庫(kù)服務(wù)情況減至最少,當(dāng)一個(gè)新場(chǎng)地合并到現(xiàn)有的分布式系統(tǒng)或從分布式系統(tǒng)中撤離一個(gè)場(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ú)立性(或稱(chēng)位置透明性)

用戶(hù)不必知道數(shù)據(jù)的物理存儲(chǔ)地,可工作可像數(shù)據(jù)全部存儲(chǔ)在局部場(chǎng)地一樣纽门。一般位置獨(dú)立性需要有分布式數(shù)據(jù)命名模式和字典子系統(tǒng)的支持森篷。

(5)分片獨(dú)立性(或稱(chēng)分片透明性)

分布式系統(tǒng)如果可將給定的關(guān)系分成若干塊或片输钩,可提高系統(tǒng)的處理性能。利用分片將數(shù)據(jù)存儲(chǔ)在最頻繁使用它的位置上仲智,使大部分操作為局部操作买乃,減少網(wǎng)絡(luò)的信息流量。如果系統(tǒng)支持分片獨(dú)立性钓辆,那么用戶(hù)工作起來(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ú)立性,用戶(hù)工作可像它全然沒(méi)有存儲(chǔ)副本一樣地工作功戚。

(7)支持分布式查詢(xún)處理

在分布式數(shù)據(jù)庫(kù)系統(tǒng)中有三類(lèi)查詢(xún):局部查詢(xún) 娶眷、 遠(yuǎn)程查詢(xún)和全局查詢(xún)。局部查詢(xún)和遠(yuǎn)程查詢(xún)僅涉及單個(gè)結(jié)點(diǎn)的數(shù)據(jù)(本地的或遠(yuǎn)程的)啸臀,查詢(xún)優(yōu)化采用的技術(shù)是集中式數(shù)據(jù)庫(kù)的查詢(xún)優(yōu)化技術(shù)届宠。全局查詢(xún)涉及多個(gè)結(jié)點(diǎn)上的數(shù)據(jù),其查詢(xún)處理和優(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ì)用戶(hù)來(lái)說(shuō)鄙煤,應(yīng)當(dāng)看上去完全像一個(gè)非分布式系統(tǒng)晾匠。值得指出的是,現(xiàn)實(shí)系統(tǒng)出于對(duì)某些方面的特別考慮梯刚,對(duì)上述各方面做出了種種權(quán)衡和選擇凉馆。

2 分布式數(shù)據(jù)庫(kù)的架構(gòu)

分布式數(shù)據(jù)庫(kù)系統(tǒng)的模式結(jié)構(gòu)有六個(gè)層次,如圖 1 所示亡资,實(shí)際的系統(tǒng)并非都具有這種結(jié)構(gòu)澜共。在這種結(jié)構(gòu)中各級(jí)模式的層次清晰,可以概括和說(shuō)明任何分布式數(shù)據(jù)庫(kù)系統(tǒng)的概念和結(jié)構(gòu)锥腻。

圖 1 的模式結(jié)構(gòu)從整體上可以分為兩大部分:下半部分是集中式數(shù)據(jù)庫(kù)的模式結(jié)構(gòu)嗦董,代表了各局部場(chǎng)地上局部數(shù)據(jù)庫(kù)系統(tǒng)的基本結(jié)構(gòu);上半部分是分布式數(shù)據(jù)庫(kù)系統(tǒng)增加的模式級(jí)別瘦黑。

(1)全局外模式

它們是全局應(yīng)用的用戶(hù)視圖京革,是全局概念模式的子集奇唤。

(2)全局概念模式

它定義分布式數(shù)據(jù)庫(kù)中數(shù)據(jù)的整體邏輯結(jié)構(gòu),數(shù)據(jù)就如同根本沒(méi)有分布一樣匹摇,可用傳統(tǒng)的集中式數(shù)據(jù)庫(kù)中所采用的方法定義咬扇。全局概念模式中所用的數(shù)據(jù)模型應(yīng)該易于向其他層次的模式映像,通常采用關(guān)系模型来惧。這樣冗栗,全局概念模式包括一組全局關(guān)系的定義。

(3)分片模式

每一個(gè)全局關(guān)系可以劃分為若干不相交的部分供搀,每一部分稱(chēng)為一個(gè)片段隅居,即 “ 數(shù)據(jù)分片 ”。 分片模式就是定義片段及全局關(guān)系到片段的映像葛虐。這種映像是一對(duì)多的胎源,即每個(gè)片段來(lái)自一個(gè)全局關(guān)系,而一個(gè)全局關(guān)系可對(duì)應(yīng)多個(gè)片段屿脐。

(4)分布模式

由數(shù)據(jù)分片得到的片斷仍然是 DDB 的全局?jǐn)?shù)據(jù)涕蚤,是全局關(guān)系的邏輯部分,每一個(gè)片段在物理上可以分配到網(wǎng)絡(luò)的一個(gè)或多個(gè)不同結(jié)點(diǎn)上的诵。分布模式定義片段的存放結(jié)點(diǎn)万栅。分布模式的映像類(lèi)型確定了分布式數(shù)據(jù)庫(kù)是冗余的還是非冗余的。若映像是一對(duì)多的西疤,即一個(gè)片段分配到多個(gè)結(jié)點(diǎn)上存放烦粒,則是冗余的分布數(shù)據(jù)庫(kù),否則是不冗余的分布數(shù)據(jù)庫(kù)代赁。

根據(jù)分布模式提供的信息扰她,一個(gè)全局查詢(xún)可分解為若干子查詢(xún),每一子查詢(xún)要訪問(wèn)的數(shù)據(jù)屬于同一場(chǎng)地的局部數(shù)據(jù)庫(kù)芭碍。由分布模式到各局部數(shù)據(jù)庫(kù)的映像(映像4)把存儲(chǔ)在局部場(chǎng)地的全局關(guān)系或全局關(guān)系的片段映像為各局部概念模式采用局部場(chǎng)地的 DBMS 所支持的數(shù)據(jù)模型徒役。

分片模式和分布模式均是全局的,分布式數(shù)據(jù)庫(kù)系統(tǒng)中增加的這些模式和相應(yīng)的映像使分布式數(shù)據(jù)庫(kù)系統(tǒng)具有了分布透明性窖壕。

(5)局部概念模式

一個(gè)全局關(guān)系經(jīng)邏輯劃分成一個(gè)或多個(gè)邏輯片斷忧勿,每個(gè)邏輯片斷被分配在一個(gè)或多個(gè)場(chǎng)地上,稱(chēng)為該邏輯片斷在某場(chǎng)地上的物理映像或物理片斷瞻讽。分配在同一場(chǎng)地上的同一個(gè)全局概念模式的若干片斷(物理片斷)構(gòu)成了該全局概念在該場(chǎng)地上的一個(gè)物理映像狐蜕。

一個(gè)場(chǎng)地上的局部概念模式是該場(chǎng)地上所有全局概念模式在該場(chǎng)地上物理映像的集合。由此可見(jiàn)卸夕,全局概念模式與場(chǎng)地獨(dú)立层释,而局部概念模式與場(chǎng)地相關(guān)。

(6)局部?jī)?nèi)模式

局部?jī)?nèi)模式是 DDB 中關(guān)于物理數(shù)據(jù)庫(kù)的描述快集,類(lèi)似于集中式 DB 中的內(nèi)模式贡羔,但其描述的內(nèi)容不僅包含局部本場(chǎng)地的數(shù)據(jù)的存儲(chǔ)描述廉白,還包括全局?jǐn)?shù)據(jù)在本場(chǎng)地的存儲(chǔ)描述。


在圖 1 的六層模式結(jié)構(gòu)中乖寒,全局概念模式 猴蹂、 分片模式和分布模式是與場(chǎng)地特征無(wú)關(guān)的,是全局的楣嘁,因此它們不依賴(lài)于局部 DBMS 的數(shù)據(jù)模型磅轻。在低層次上,需要把物理映像映射成由局部 DBMS 支持的數(shù)據(jù)模型逐虚。這種映像由局部映射模式完成聋溜。具體的映射關(guān)系,由局部 DBMS 的類(lèi)型決定叭爱。在異構(gòu)型系統(tǒng)中撮躁,可在不同場(chǎng)地上擁有類(lèi)型的局部映射模式。

這種分層的模式結(jié)構(gòu)為理解 DDB 提供了一種通用的概念結(jié)構(gòu)买雾。它有三個(gè)顯著的特征:

  1. 數(shù)據(jù)分片和數(shù)據(jù)分配概念的分離把曼,形成了 “ 數(shù)據(jù)分布獨(dú)立型 ” 概念。
  2. 數(shù)據(jù)冗余的顯示控制漓穿。數(shù)據(jù)在各個(gè)場(chǎng)地的分配情況在分配模式中一目了然嗤军,便于系統(tǒng)管理。
  3. 局部 DBMS 的獨(dú)立性晃危。這個(gè)特征也稱(chēng)為 “ 局部映射透明性 ” 叙赚。此特征允許在不考慮局部 DBMS 專(zhuān)用數(shù)據(jù)模型的情況下研究 DDB 管理的有關(guān)問(wèn)題。

2.1 分布式數(shù)據(jù)庫(kù)系統(tǒng)與并行數(shù)據(jù)庫(kù)系統(tǒng)的區(qū)別

分布式數(shù)據(jù)庫(kù)系統(tǒng)與并行數(shù)據(jù)庫(kù)系統(tǒng)具有很多相似點(diǎn):它們都是通過(guò)網(wǎng)絡(luò)連接各個(gè)數(shù)據(jù)處理結(jié)點(diǎn)的山害,整個(gè)網(wǎng)絡(luò)中的所有結(jié)點(diǎn)構(gòu)成一個(gè)邏輯上統(tǒng)一的整體,用戶(hù)可以對(duì)各個(gè)結(jié)點(diǎn)上的數(shù)據(jù)進(jìn)行透明存取等沿量。但分布式數(shù)據(jù)庫(kù)系統(tǒng)與并行數(shù)據(jù)庫(kù)系統(tǒng)之間還是存在著顯著的區(qū)別的浪慌,主要表現(xiàn)在以下幾個(gè)方面:

(1)應(yīng)用目標(biāo)不同

并行數(shù)據(jù)庫(kù)系統(tǒng)的目標(biāo)是充分發(fā)揮并行計(jì)算機(jī)的優(yōu)勢(shì),利用系統(tǒng)中的各個(gè)處理機(jī)結(jié)點(diǎn)并行地完成數(shù)據(jù)庫(kù)任務(wù)朴则,提高數(shù)據(jù)庫(kù)的整體性能权纤。

分布式數(shù)據(jù)庫(kù)系統(tǒng)主要目的在于實(shí)現(xiàn)各個(gè)場(chǎng)地自治和數(shù)據(jù)的全局透明共享,而不要求利用網(wǎng)絡(luò)中的各個(gè)結(jié)點(diǎn)來(lái)提高系統(tǒng)的整體性能乌妒。

(2)實(shí)現(xiàn)方式不同

由于應(yīng)用目標(biāo)各不相同汹想,在具體實(shí)現(xiàn)方法上,并行數(shù)據(jù)庫(kù)與分布式數(shù)據(jù)庫(kù)之間也有著較大的區(qū)別撤蚊。在并行數(shù)據(jù)庫(kù)中古掏,為了充分發(fā)揮各個(gè)結(jié)點(diǎn)的處理能力,各結(jié)點(diǎn)間采用高速通信網(wǎng)絡(luò)互聯(lián)侦啸,結(jié)點(diǎn)間數(shù)據(jù)傳輸代價(jià)相對(duì)較低槽唾。當(dāng)負(fù)載不均衡時(shí)丧枪,可以將工作負(fù)載過(guò)大的結(jié)點(diǎn)上的任務(wù)通過(guò)高速通信網(wǎng)絡(luò)送給空閑結(jié)點(diǎn)處理,從而實(shí)現(xiàn)負(fù)載平衡庞萍。

在分布式數(shù)據(jù)庫(kù)系統(tǒng)中拧烦,各結(jié)點(diǎn)(場(chǎng)地)間一般通過(guò)局域網(wǎng)或廣域網(wǎng)互聯(lián),網(wǎng)絡(luò)帶寬比較低钝计,各場(chǎng)地之間的通信開(kāi)銷(xiāo)較大恋博,因此在查詢(xún)處理時(shí)一般應(yīng)盡量減少結(jié)點(diǎn)間的數(shù)據(jù)傳輸量。

(3)各結(jié)點(diǎn)的地位不同

在并行數(shù)據(jù)庫(kù)中私恬,各結(jié)點(diǎn)之間不存在全局應(yīng)用和局部應(yīng)用的概念债沮。各個(gè)結(jié)點(diǎn)協(xié)同作用,共同處理践付,而不可能有局部應(yīng)用秦士。


在分布式數(shù)據(jù)庫(kù)系統(tǒng)中,各結(jié)點(diǎn)除了能通過(guò)網(wǎng)絡(luò)協(xié)同完成全局事務(wù)外永高,還有自己結(jié)點(diǎn)場(chǎng)地的自治性隧土。也就是說(shuō),分布式數(shù)據(jù)庫(kù)系統(tǒng)的每個(gè)場(chǎng)地又是一個(gè)獨(dú)立的數(shù)據(jù)庫(kù)系統(tǒng)命爬,除了擁有自己的硬件系統(tǒng)( CPU曹傀、 內(nèi)存和磁盤(pán)等)外,還擁有自己的數(shù)據(jù)庫(kù)和自己的客戶(hù)饲宛,可運(yùn)行自己的 DBMS 皆愉,執(zhí)行局部應(yīng)用,具有高度的自治性艇抠。這是并行數(shù)據(jù)庫(kù)與分布式數(shù)據(jù)庫(kù)之間最主要的區(qū)別幕庐。

2.2 數(shù)據(jù)分片和透明性

將數(shù)據(jù)分片,使數(shù)據(jù)存放的單位不是關(guān)系而是片段家淤,這既有利于按照用戶(hù)的需求較好地組織數(shù)據(jù)的分布异剥,也有利于控制數(shù)據(jù)的冗余度。分片的方式有多種絮重,水平分片和垂直分片是兩種基本的分片方式冤寿,混合分片和導(dǎo)出分片是較復(fù)雜的分片方式。

分布透明性指用戶(hù)不必關(guān)心數(shù)據(jù)的邏輯分片青伤,不必關(guān)心數(shù)據(jù)存儲(chǔ)的物理位置分配細(xì)節(jié)督怜,也不必關(guān)心局部場(chǎng)地上數(shù)據(jù)庫(kù)的數(shù)據(jù)模型。從圖 1 的模式結(jié)構(gòu)可以看到分布透明性包括:分片透明性 狠角、 位置透明性和局部數(shù)據(jù)模型透明性号杠。

(1)分片透明性

分片透明性是分布透明性的最高層次。所謂分片透明性是指用戶(hù)或應(yīng)用程序只對(duì)全局關(guān)系進(jìn)行操作而不必考慮數(shù)據(jù)的分片丰歌。當(dāng)分片模式改變時(shí)究流,只要改變?nèi)帜J降椒制J降挠诚瘢ㄓ诚?)辣吃,而不影響全局模式和應(yīng)用程序。全局模式不變芬探,應(yīng)用程序不必改寫(xiě)神得,這就是分片透明性。

(2)位置透明性

位置透明性是分布透明性的下一層次偷仿。所謂位置透明性是指哩簿,用戶(hù)或應(yīng)用程序應(yīng)當(dāng)了解分片情況,但不必了解片段的存儲(chǔ)場(chǎng)地酝静。當(dāng)存儲(chǔ)場(chǎng)地改變時(shí)节榜,只要改變分片模式到分配模式的映像(映像3),而不影響應(yīng)用程序别智。同時(shí)宗苍,若片段的重復(fù)副本數(shù)目改變了,那么數(shù)據(jù)的冗余也會(huì)改變薄榛,但用戶(hù)不必關(guān)心如何保持各副本的一致性讳窟,這也提供了重復(fù)副本的透明性。

(3)局部數(shù)據(jù)模型透明性

局部數(shù)據(jù)模型透明性是指用戶(hù)或應(yīng)用程序應(yīng)當(dāng)了解分片及各片斷存儲(chǔ)的場(chǎng)地敞恋,但不必了解局部場(chǎng)地上使用的是何種數(shù)據(jù)模型丽啡。模型的轉(zhuǎn)換及語(yǔ)言等的轉(zhuǎn)換均由映像4來(lái)完成。

2.3 分布式數(shù)據(jù)庫(kù)管理系統(tǒng)

分布式數(shù)據(jù)庫(kù)管理系統(tǒng)的任務(wù)硬猫,首先就是把用戶(hù)與分布式數(shù)據(jù)庫(kù)隔離開(kāi)來(lái)补箍,使其對(duì)用戶(hù)而言,整個(gè)分布式數(shù)據(jù)庫(kù)就好像是一個(gè)傳統(tǒng)的集中式數(shù)據(jù)庫(kù)啸蜜。換句話(huà)說(shuō)坑雅,一個(gè)分布式數(shù)據(jù)庫(kù)管理系統(tǒng)與用戶(hù)之間的接口,在邏輯上與集中式數(shù)據(jù)庫(kù)管理系統(tǒng)是一致的衬横。但是考慮到分布式數(shù)據(jù)庫(kù)的特點(diǎn)裹粤,其物理實(shí)現(xiàn)上又與集中式數(shù)據(jù)庫(kù)不同。

2.3.1 成分和功能

下面以系統(tǒng) DDBMS 的結(jié)構(gòu)為例來(lái)分析它的主要成分和功能冕香,如圖 2 所示蛹尝。

由圖 2 可以看出后豫, DDBMS 由 4 部分組成:

(1)LDBMS(局部 DBMS)

局部場(chǎng)地上的數(shù)據(jù)庫(kù)管理系統(tǒng)的功能是建立和管理局部數(shù)據(jù)庫(kù)悉尾,提供場(chǎng)地自治能力 、 執(zhí)行局部應(yīng)用及全局查詢(xún)的子查詢(xún)挫酿。

局部 DBMS 的一個(gè)重要性質(zhì)是:局部 DBMS 是同構(gòu)的還是異構(gòu)的构眯。同構(gòu)和異構(gòu)的級(jí)別可以有三級(jí):硬件 、 操作系統(tǒng)和局部 DBMS 早龟。其中最主要的是局部 DBMS 這一級(jí)惫霸,因?yàn)橛布筒僮飨到y(tǒng)的不同將由通信軟件處理和管理猫缭。

異構(gòu)型 DDBMS 的設(shè)計(jì)和實(shí)現(xiàn)比同構(gòu)型 DDBMS 更加復(fù)雜,它要解決不同的 DBMS 之間及不同的數(shù)據(jù)模型之間的轉(zhuǎn)換壹店。因此在設(shè)計(jì)和實(shí)現(xiàn) DDBMS 時(shí)猜丹,若是用自頂向下的方法進(jìn)行,即并不存在已運(yùn)行的局部數(shù)據(jù)庫(kù)硅卢,則采用同構(gòu)型的結(jié)構(gòu)比較方便射窒。若是采用自底向上設(shè)計(jì) DDBMS 的方法,即現(xiàn)已存在的局部數(shù)據(jù)庫(kù)将塑,而這些數(shù)據(jù)庫(kù)可能采用不同的數(shù)據(jù)模型(層次 脉顿、 網(wǎng)狀或關(guān)系),或者雖然模型相同但它們是不同廠商的 DBMS (如Informix 点寥、 Sybase 艾疟、 Db2 、 Oracle)敢辩,這就必須開(kāi)發(fā)異構(gòu)型的 DDBMS 蔽莱。

要解決異構(gòu)數(shù)據(jù)庫(kù)模型的同種化問(wèn)題,是研制異構(gòu)型 DDBMS 的關(guān)鍵所在责鳍,所謂同種化就是尋找合適的公共數(shù)據(jù)模型碾褂,采用公共數(shù)據(jù)模型與異構(gòu)數(shù)據(jù)模型(局部)之間的轉(zhuǎn)換,不采用各結(jié)點(diǎn)之間的一對(duì)一轉(zhuǎn)換历葛。這樣可以減少轉(zhuǎn)移次數(shù)正塌。

(2)GDBMS(全局 DBMS)

全局?jǐn)?shù)據(jù)庫(kù)管理系統(tǒng)的主要功能是提供分布透明性,協(xié)調(diào)全局事務(wù)的執(zhí)行恤溶,協(xié)調(diào)各局部 DBMS 以完成全局應(yīng)用乓诽,保證數(shù)據(jù)庫(kù)的全局一致性,執(zhí)行并發(fā)控制咒程,實(shí)現(xiàn)更新同步鸠天,提供全局恢復(fù)功能。

(3)全局?jǐn)?shù)據(jù)字典

存放全局概念模式 帐姻、 分片模式 稠集、 分布模式的定義及各模式之間映像的定義;存放有關(guān)用戶(hù)存取權(quán)限的定義饥瓷,以保證全局用戶(hù)的合法權(quán)限和數(shù)據(jù)庫(kù)的安全性剥纷;存放數(shù)據(jù)完整性約束條件的定義,其功能與集中式數(shù)據(jù)庫(kù)的數(shù)據(jù)字典類(lèi)似呢铆。

(4)CM(Communication Management晦鞋,通信管理)

在分布數(shù)據(jù)庫(kù)各場(chǎng)地之間傳送消息和數(shù)據(jù),完成通信功能。

2.3.2 架構(gòu)

DDBMS 功能的分割和重復(fù)及不同的配置策略就導(dǎo)致了各種架構(gòu)悠垛。

(1)全局控制集中的 DDBMS

這種結(jié)構(gòu)的特點(diǎn)是全局控制成分 GDBMS 集中在某一結(jié)點(diǎn)上线定,由該結(jié)點(diǎn)完成全局事務(wù)的協(xié)調(diào)和局部數(shù)據(jù)庫(kù)轉(zhuǎn)換等一切控制功能,全局?jǐn)?shù)據(jù)字典只有一個(gè)确买,也存放在該結(jié)點(diǎn)上斤讥,它是 GDBMS 執(zhí)行控制的依據(jù)。它的優(yōu)點(diǎn)是控制簡(jiǎn)單湾趾,易實(shí)現(xiàn)更新一致性周偎。但由于控制集中在某一特定的結(jié)點(diǎn)上,不僅容易形成瓶頸而且系統(tǒng)較脆弱撑帖,一旦該結(jié)點(diǎn)出故障蓉坎,整個(gè)系統(tǒng)就會(huì)癱瘓。

(2)全局控制分散的 DDBMS

這種結(jié)構(gòu)的特點(diǎn)是全局控制成分 GDBMS 分散在網(wǎng)絡(luò)的每一個(gè)結(jié)點(diǎn)上胡嘿,全局?jǐn)?shù)據(jù)字典也在每個(gè)結(jié)點(diǎn)上有一份蛉艾,每個(gè)結(jié)點(diǎn)都能完成全局事務(wù)的協(xié)調(diào)和局部數(shù)據(jù)庫(kù)轉(zhuǎn)換,每個(gè)結(jié)點(diǎn)既是全局事務(wù)的參與者又是協(xié)調(diào)者衷敌,一般稱(chēng)這類(lèi)結(jié)構(gòu)為完全分布的 DDBMS勿侯。 它的優(yōu)點(diǎn)是結(jié)點(diǎn)獨(dú)立,自治性強(qiáng)缴罗,單個(gè)結(jié)點(diǎn)退出或進(jìn)入系統(tǒng)均不會(huì)影響整個(gè)系統(tǒng)的運(yùn)行助琐,但是全局控制的協(xié)調(diào)機(jī)制和一致性的維護(hù)都比較復(fù)雜。

(3)全局控制部分分散的 DDBMS

這種結(jié)構(gòu)是根據(jù)應(yīng)用的需要將 GDBMS 和全局?jǐn)?shù)據(jù)字典分散在某些結(jié)點(diǎn)上面氓,是介于前兩種情況之間的架構(gòu)兵钮。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市舌界,隨后出現(xiàn)的幾起案子掘譬,更是在濱河造成了極大的恐慌,老刑警劉巖呻拌,帶你破解...
    沈念sama閱讀 212,718評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件葱轩,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡藐握,警方通過(guò)查閱死者的電腦和手機(jī)靴拱,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)猾普,“玉大人袜炕,你說(shuō)我怎么就攤上這事√疲” “怎么了妇蛀?”我有些...
    開(kāi)封第一講書(shū)人閱讀 158,207評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)笤成。 經(jīng)常有香客問(wèn)我评架,道長(zhǎng),這世上最難降的妖魔是什么炕泳? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,755評(píng)論 1 284
  • 正文 為了忘掉前任纵诞,我火速辦了婚禮,結(jié)果婚禮上培遵,老公的妹妹穿的比我還像新娘浙芙。我一直安慰自己,他們只是感情好籽腕,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,862評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布嗡呼。 她就那樣靜靜地躺著,像睡著了一般皇耗。 火紅的嫁衣襯著肌膚如雪南窗。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 50,050評(píng)論 1 291
  • 那天郎楼,我揣著相機(jī)與錄音万伤,去河邊找鬼。 笑死呜袁,一個(gè)胖子當(dāng)著我的面吹牛敌买,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播阶界,決...
    沈念sama閱讀 39,136評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼虹钮,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了膘融?” 一聲冷哼從身側(cè)響起芜抒,我...
    開(kāi)封第一講書(shū)人閱讀 37,882評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎托启,沒(méi)想到半個(gè)月后宅倒,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,330評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡屯耸,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,651評(píng)論 2 327
  • 正文 我和宋清朗相戀三年拐迁,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片疗绣。...
    茶點(diǎn)故事閱讀 38,789評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡线召,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出多矮,到底是詐尸還是另有隱情缓淹,我是刑警寧澤哈打,帶...
    沈念sama閱讀 34,477評(píng)論 4 333
  • 正文 年R本政府宣布,位于F島的核電站讯壶,受9級(jí)特大地震影響料仗,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜伏蚊,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,135評(píng)論 3 317
  • 文/蒙蒙 一立轧、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧躏吊,春花似錦氛改、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,864評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至赁项,卻和暖如春瑰艘,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背肤舞。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,099評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工紫新, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人李剖。 一個(gè)月前我還...
    沈念sama閱讀 46,598評(píng)論 2 362
  • 正文 我出身青樓芒率,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親篙顺。 傳聞我的和親對(duì)象是個(gè)殘疾皇子偶芍,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,697評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容