分布式數(shù)據(jù)庫(kù)系統(tǒng)_第1頁(yè)
分布式數(shù)據(jù)庫(kù)系統(tǒng)_第2頁(yè)
分布式數(shù)據(jù)庫(kù)系統(tǒng)_第3頁(yè)
分布式數(shù)據(jù)庫(kù)系統(tǒng)_第4頁(yè)
分布式數(shù)據(jù)庫(kù)系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩26頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

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

分布式數(shù)據(jù)庫(kù)系統(tǒng)是數(shù)據(jù)庫(kù)技術(shù)與網(wǎng)絡(luò)技術(shù)兩者相互滲透和有機(jī)結(jié)合的結(jié)果。

粗略定義:

分布式數(shù)據(jù)庫(kù)是由一組數(shù)據(jù)組成,這些數(shù)據(jù)物理上分布在計(jì)算機(jī)網(wǎng)絡(luò)的不同結(jié)點(diǎn)上(也稱場(chǎng)地),邏輯上是屬于同一個(gè)系統(tǒng)。

定義強(qiáng)調(diào)兩點(diǎn):分布性邏輯整體性1.概述2例子:一個(gè)分布式數(shù)據(jù)庫(kù)系統(tǒng)

分布式數(shù)據(jù)庫(kù)系統(tǒng)必須支持全局應(yīng)用3全局應(yīng)用

全局應(yīng)用指應(yīng)用中涉及兩個(gè)及兩個(gè)以上結(jié)點(diǎn)的數(shù)據(jù)庫(kù)。這和只存取本結(jié)點(diǎn)數(shù)據(jù)庫(kù)應(yīng)用不同,和只存取另一個(gè)結(jié)點(diǎn)(或遠(yuǎn)程結(jié)點(diǎn))數(shù)據(jù)庫(kù)應(yīng)用也不同。

分布式數(shù)據(jù)庫(kù)確切定義分布式數(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)用。

定義更強(qiáng)調(diào):場(chǎng)地自治性自治場(chǎng)地間的協(xié)作性4分布式數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn)數(shù)據(jù)獨(dú)立性

數(shù)據(jù)的邏輯獨(dú)立性

數(shù)據(jù)的物理獨(dú)立性

數(shù)據(jù)分布獨(dú)立性(分布透明性)

分布透明性是指用戶不必關(guān)心數(shù)據(jù)的邏輯分片、數(shù)據(jù)物理位置分布的細(xì)節(jié)、重復(fù)副本一致性、局部場(chǎng)地上數(shù)據(jù)庫(kù)支持哪種數(shù)據(jù)模型。

有了分布透明性,用戶的應(yīng)用程序編寫(xiě)如同數(shù)據(jù)沒(méi)有分布。當(dāng)數(shù)據(jù)從一個(gè)場(chǎng)地移到另一個(gè)場(chǎng)地時(shí)不必修改應(yīng)用程序。集中式數(shù)據(jù)庫(kù)系統(tǒng)中5

數(shù)據(jù)分布的信息由系統(tǒng)存儲(chǔ)在數(shù)據(jù)字典中。用戶對(duì)非本地?cái)?shù)據(jù)的訪問(wèn)請(qǐng)求由系統(tǒng)根據(jù)數(shù)據(jù)字典予以解釋、轉(zhuǎn)換和傳送。

集中式數(shù)據(jù)庫(kù)系統(tǒng)中,數(shù)據(jù)獨(dú)立性是通過(guò)系統(tǒng)的三級(jí)模式(外模式、概念模式、內(nèi)模式)和它們之間的二級(jí)映射得到的。

分布式數(shù)據(jù)庫(kù)系統(tǒng)中,分布透明性是由于引入了新的模式和模式之間的映射得到的。分布式數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn)6分布式數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn)集中與自治相結(jié)合的控制結(jié)構(gòu)

集中式數(shù)據(jù)庫(kù)系統(tǒng)中,對(duì)共享數(shù)據(jù)庫(kù)的控制是集中的,并由DBA負(fù)責(zé)監(jiān)督和維護(hù)系統(tǒng)的正常運(yùn)行。

分布式數(shù)據(jù)庫(kù)系統(tǒng)中,數(shù)據(jù)共享有兩個(gè)層次:

局部共享(相應(yīng)的控制機(jī)構(gòu)—自治,各場(chǎng)地獨(dú)立管理DBMS)全局共享(相應(yīng)的控制機(jī)構(gòu)----集中,協(xié)調(diào)各局部DBMS工作,執(zhí)行全局應(yīng)用)7分布式數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn)適當(dāng)增加數(shù)據(jù)冗余度

集中式數(shù)據(jù)庫(kù)系統(tǒng)中,冗余數(shù)據(jù)浪費(fèi)空間,易造成數(shù)據(jù)不一致性。分布式數(shù)據(jù)庫(kù)系統(tǒng)中,需要冗余數(shù)據(jù),即不同場(chǎng)地存儲(chǔ)同一數(shù)據(jù)的多個(gè)副本。原因如下:

提高系統(tǒng)的可靠性、可用性當(dāng)某一場(chǎng)地出現(xiàn)故障時(shí),系統(tǒng)可以對(duì)另一場(chǎng)地上的相同副本進(jìn)行操作,不至于造成整個(gè)系統(tǒng)的癱瘓。提高系統(tǒng)性能系統(tǒng)可選擇用戶最近的數(shù)據(jù)副本進(jìn)行操作,減少通信代價(jià),改善整個(gè)系統(tǒng)性能。

存在的問(wèn)題:冗余副本之間存在數(shù)據(jù)不一致,必須著力解決。8全局的一致性、可串行性和可恢復(fù)性

分布式數(shù)據(jù)庫(kù)系統(tǒng)中全局應(yīng)用要涉及到兩個(gè)以上結(jié)點(diǎn)的數(shù)據(jù),全局事務(wù)可能由不同場(chǎng)地的多個(gè)操作組成。所以應(yīng)該保證數(shù)據(jù)庫(kù)的全局一致性、全局并發(fā)事務(wù)的可串行性和系統(tǒng)的全局可恢復(fù)性。

當(dāng)一個(gè)結(jié)點(diǎn)發(fā)生故障,操作失敗后如何使全局事務(wù)回滾?如何使另一個(gè)結(jié)點(diǎn)撤銷已執(zhí)行的操作或不必再執(zhí)行其他操作。分布式數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn)采用的技術(shù)比集中式數(shù)據(jù)庫(kù)系統(tǒng)更復(fù)雜和困難。9

分布式數(shù)據(jù)庫(kù)系統(tǒng)的體系結(jié)構(gòu)是全局應(yīng)用的用戶視圖整體邏輯結(jié)構(gòu)定義片段以及全局關(guān)系到片段的映像定義片段的存放地點(diǎn)10

根據(jù)分布模式提供的信息,一個(gè)全局查詢可分解為若干個(gè)子查詢,每個(gè)子查詢要訪問(wèn)的數(shù)據(jù)屬于同一場(chǎng)地的局部數(shù)據(jù)庫(kù)。片段是全局關(guān)系的邏輯部分,一個(gè)片段在物理上可分配到網(wǎng)絡(luò)的不同結(jié)點(diǎn)上。

分布模式到各局部數(shù)據(jù)庫(kù)的映像把存儲(chǔ)在局部場(chǎng)地的全局關(guān)系或全局關(guān)系的片段映像為各局部概念模式,局部概念模式采用局部場(chǎng)地的DBMS所支持的數(shù)據(jù)模型。分布式數(shù)據(jù)庫(kù)系統(tǒng)的體系結(jié)構(gòu)

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

數(shù)據(jù)分片分布式數(shù)據(jù)庫(kù)系統(tǒng)中,將數(shù)據(jù)分片,使數(shù)據(jù)存放的單位是片段而不是關(guān)系。

數(shù)據(jù)分片的方式

水平分片

垂直分片

導(dǎo)出分片

混合分片SC中按照Age>18分片Age來(lái)自student12例:年齡>18歲的學(xué)生選課片段:SC_A(SNO,CNO,GRADE)由以下查詢結(jié)果組成:

SELECTSNO,CNO,GRADEFROMS,SCWHERES.SNO=SC.SNOANDAGE>18);年齡

18歲學(xué)生選課的片段:SC_B(SNO,CNO,GRADE)由以下查詢結(jié)果組成:

SELECTSNO,CNO,GRADEFROMS,SCWHERES.SNO=SC.SNOANDAGE

181);13

分片方式應(yīng)滿足的條件

完全性----一個(gè)全局關(guān)系中的數(shù)據(jù)必須完全地劃分為若干片段,不允許某些數(shù)據(jù)屬于全局關(guān)系但不屬于任何一個(gè)片段。

不相交性----不允許一個(gè)全局關(guān)系的某些數(shù)據(jù)既屬于該全局關(guān)系的每一個(gè)片段又屬于全局關(guān)系的另一個(gè)片段。

可重構(gòu)性----可由片段重構(gòu)全局關(guān)系。

垂直分片可用連接操作重構(gòu)全局關(guān)系;

水平分片可用并操作重構(gòu)全局關(guān)系。數(shù)據(jù)分片14

分布透明性----包括分片透明性、位置透明性和局部數(shù)據(jù)模型透明性。

分片透明性----分布透明性的最高層次。指用戶或應(yīng)用程序只對(duì)全局關(guān)系進(jìn)行操作而不考慮關(guān)系的分片。當(dāng)分片模式改變了,由于全局到分片模式的映像、全局模式不變,應(yīng)用程序不必改寫(xiě)。

位置透明性----分布透明的下一層次。指用戶或應(yīng)用程序不必了解片段的場(chǎng)地,當(dāng)存儲(chǔ)場(chǎng)地改變了,由于分片模式到分布模式的映像,應(yīng)用程序不必改變。

局部數(shù)據(jù)模型透明性----用戶或應(yīng)用程序不必了解局部場(chǎng)地上使用哪種數(shù)據(jù)模型,模型轉(zhuǎn)換以及數(shù)據(jù)庫(kù)語(yǔ)言的轉(zhuǎn)換由映像4完成。15例:設(shè)在分布式數(shù)據(jù)庫(kù)系統(tǒng)中全局關(guān)系:

Student(Sno,Sname,Sdept,Sage)現(xiàn)將Student關(guān)系劃分為兩個(gè)片段S-A,S-B。S-A代表理學(xué)院的學(xué)生,存儲(chǔ)在場(chǎng)地1(Site1)S-B代表文學(xué)院的學(xué)生,存儲(chǔ)在場(chǎng)地2和場(chǎng)地3(冗余)。有一個(gè)查詢:從終端讀入一個(gè)學(xué)號(hào),查找該學(xué)號(hào)的學(xué)生姓名、年齡,并顯示在屏幕上。分布透明性16

假設(shè)應(yīng)用程序用嵌入式C寫(xiě)的,略去細(xì)節(jié),僅給出查詢部分的算法思想。情況1:若系統(tǒng)具有分片透明性,則Scanf(“%s”,Snumber);EXECSQLSELECTSname,SageINTO:NAME,:AGEFROMStudent/*在全局關(guān)系中查找*/WHERESno=:Snumber;Printf(“%s,%d”,NAME,AGE);分布透明性17情況2:若系統(tǒng)具有位置透明性,但不具有分片透明性,則需要考慮分片情況。Scanf(“%s”,Snumber);EXECSQLSELECTSname,SageINTO:NAME,:AGEFROMS-A/*先在片段S-A中查找*/WHERESno=:Snumber;If(!FOUND){EXECSQLSELECTSname,SageINTO:NAME,:AGEFROMS-B/*再在片段S-B中查找*/WHERESno=:Snumber;}Printf(“%s,%d”,NAME,AGE);分布透明性18分布透明性

情況3:若系統(tǒng)只具有局部數(shù)據(jù)模型透明性,不具有位置透明性(當(dāng)然也就不具有分片透明性),則需考慮分片和片段的存儲(chǔ)場(chǎng)地。Scanf(“%s”,Snumber);EXECSQLSELECTSname,SageINTO:NAME,:AGEFROMS-AATSite1

/*先在場(chǎng)地1的片段S-A中查找*/WHERESno=:Snumber;If(!FOUND){EXECSQLSELECTSname,SageINTO:NAME,:AGEFROMS-BATSite2

/*再在場(chǎng)地2的片段S-B中查找*/WHERESno=:Snumber;/*也可以在場(chǎng)地3的片段S-B中查找*/}Printf(“%s,%d”,NAME,AGE);用戶可選擇離他較近的某個(gè)場(chǎng)地進(jìn)行訪問(wèn),可提高查詢效率。19

若沒(méi)有分片透明性,用戶必須了解分片情況;

若沒(méi)有位置透明性,場(chǎng)地選擇由用戶程序負(fù)責(zé),用戶不僅要了解分片的情況,還必須了解片段存放的位置、場(chǎng)地分布的遠(yuǎn)近以及通信線路的質(zhì)量;

若系統(tǒng)具有位置透明性,上述任務(wù)由系統(tǒng)承擔(dān),并且當(dāng)訪問(wèn)場(chǎng)地2時(shí),若該線路繁忙或出現(xiàn)通信故障,系統(tǒng)自動(dòng)改為訪問(wèn)場(chǎng)地3。分布透明性20

分布式數(shù)據(jù)庫(kù)管理系統(tǒng)(D-DBMS)分布式數(shù)據(jù)庫(kù)管理系統(tǒng)的結(jié)構(gòu)局部場(chǎng)地DBMS,建立和管理局部數(shù)據(jù)庫(kù),提供場(chǎng)地自治,執(zhí)行局部應(yīng)用及全局查詢的子查詢?nèi)諨BMS,提供分布透明性,協(xié)調(diào)全局事務(wù)的執(zhí)行,協(xié)調(diào)各局部DBMS以完成全局應(yīng)用,保證數(shù)據(jù)庫(kù)的全局一致性,執(zhí)行并發(fā)控制,實(shí)現(xiàn)更新同步,提供全局恢復(fù)功能。全局?jǐn)?shù)據(jù)詞典,存放全局概念模式、分片模式、分布模式的定義及各模式間映射,存放用戶存取權(quán)限、完整性約束等通信管理(CM),完成各場(chǎng)地間的消息和數(shù)據(jù)的傳送,完成通信功能。各場(chǎng)地可同構(gòu)或異構(gòu)21

查詢處理和優(yōu)化分布式環(huán)境下的查詢處理和查詢優(yōu)化較集中式環(huán)境更復(fù)雜。實(shí)例:數(shù)據(jù)庫(kù):簡(jiǎn)化了的供應(yīng)商和零件數(shù)據(jù)庫(kù)S(Sno,City)104個(gè)元組,存放在場(chǎng)地A;P(Pno,Color)105個(gè)元組,存放在場(chǎng)地B;SP(Sno,Pno,Quantity)106個(gè)元組,存放在場(chǎng)地A;設(shè)每個(gè)關(guān)系的元組均為100字節(jié)長(zhǎng)。查詢:供應(yīng)紅色零件的、北京的供應(yīng)商號(hào)。SELECTS.SnoFROMS,P,SPWHERESP.Pno=P.PnoANDS.Sno=SP.SnoAND

S.City=‘北京’AND

P.Color=‘紅色’;22

估算值(某些中間結(jié)果的元組數(shù))紅色零件數(shù)=10

北京供應(yīng)商的裝運(yùn)單數(shù)=105

對(duì)通信系統(tǒng)的假定

數(shù)據(jù)傳輸速度=104字節(jié)/秒傳輸延遲=1秒考慮幾種可能的查詢策略,并計(jì)算通信時(shí)間T[i]:T[i]=總傳輸延遲+總數(shù)據(jù)量/數(shù)據(jù)傳輸速度(單位:b/s)策略1:把關(guān)系P傳送到場(chǎng)地A,在場(chǎng)地A進(jìn)行查詢處理,通信時(shí)間為:T[1]=1+105100/104=103秒(16.7分)字節(jié)長(zhǎng)關(guān)系P的元組數(shù)數(shù)據(jù)傳輸速度S,SPP場(chǎng)地B場(chǎng)地A傳P傳輸延遲策略1:把關(guān)系P傳送到場(chǎng)地A,在場(chǎng)地A進(jìn)行查詢處理,通信時(shí)間為:T[1]=1+105100/104=103秒(16.7分)字節(jié)長(zhǎng)關(guān)系P的元組數(shù)數(shù)據(jù)傳輸速度S,SPP場(chǎng)地B場(chǎng)地A傳P查詢處理和優(yōu)化23策略2:把關(guān)系S、SP傳到場(chǎng)地B,在B地執(zhí)行查詢處理,所以,通信時(shí)間為:T[2]=2+(104+106)

100/10410100秒(2.8小時(shí))S,SPP傳S傳SP場(chǎng)地A場(chǎng)地B查詢處理和優(yōu)化24策略3:(S)

SPP問(wèn)答場(chǎng)地A場(chǎng)地B在場(chǎng)地A連接關(guān)系S和SP,選出城市為北京的元組(105個(gè)),然后對(duì)這些元組中的每個(gè)元組的Pno,詢問(wèn)場(chǎng)地B,看零件是否為紅色。共問(wèn)答105次,由于不是傳送數(shù)據(jù),只是消息回答,所以通信時(shí)間為:

T[3]=2*105秒(2.3天)查詢處理和優(yōu)化25策略4:(S)

SPP問(wèn)答場(chǎng)地A場(chǎng)地B在場(chǎng)地B選出紅色零件的元組(10個(gè)),然后對(duì)每一個(gè)元組逐一檢查場(chǎng)地A,看北京供應(yīng)商的裝運(yùn)單中是否有這個(gè)零件裝運(yùn)單(若有則選出S#),每做這樣一次檢查包括2次消息,共問(wèn)答10次,通信時(shí)間為:

T[4]=2*10=20秒查詢處理和優(yōu)化26策略5:(S)

SPP傳(S#,P#)場(chǎng)地A場(chǎng)地B在場(chǎng)地A選出北京的供應(yīng)商的裝運(yùn)單把結(jié)果送到B,在場(chǎng)地B完成最后處理,通信時(shí)間為:

T[5]=1+(105100)/104=103秒(16.7分)

查詢處理和優(yōu)化27策略6:S,SP

(P)傳

(P)場(chǎng)地A場(chǎng)地B在場(chǎng)地B的關(guān)系P中選出紅色的元組(10個(gè)),把結(jié)果送到場(chǎng)地A完成最終處理。通信時(shí)間為:

T[6]=1+(10100)/1041秒分布式數(shù)據(jù)庫(kù)中通信時(shí)間是最主要的開(kāi)銷,故此例只考慮查詢處理中的通信時(shí)間。也有策略考慮數(shù)據(jù)傳輸速度和傳輸延遲的。不同策略通信時(shí)間相差很大,達(dá)多個(gè)數(shù)量級(jí)!必須優(yōu)化。查詢處理和優(yōu)化2

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論