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

下載本文檔

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

文檔簡介

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

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

粗略定義:

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

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

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

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

分布式數(shù)據(jù)庫確切定義分布式數(shù)據(jù)庫是由一組數(shù)據(jù)組成,這組數(shù)據(jù)分布在計算機網(wǎng)絡(luò)的不同計算機上,網(wǎng)絡(luò)中的每個結(jié)點具有獨立處理的能力(稱場地自治),可以執(zhí)行局部應(yīng)用。同時每個結(jié)點也能通過網(wǎng)絡(luò)通信子系統(tǒng)執(zhí)行全局應(yīng)用。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

水平分片

垂直分片

導出分片

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

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

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

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

181);13

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

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

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

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

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

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

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

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

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

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

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

假設(shè)應(yīng)用程序用嵌入式C寫的,略去細節(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ù)模型透明性,不具有位置透明性(當然也就不具有分片透明性),則需考慮分片和片段的存儲場地。Scanf(“%s”,Snumber);EXECSQLSELECTSname,SageINTO:NAME,:AGEFROMS-AATSite1

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

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

若沒有分片透明性,用戶必須了解分片情況;

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

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

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

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

S.City=‘北京’AND

P.Color=‘紅色’;22

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

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

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

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

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

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

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

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

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

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

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

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

(P)傳

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

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

溫馨提示

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

評論

0/150

提交評論