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

下載本文檔

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

文檔簡介

1、 第一章 概述 數(shù)據(jù)庫系統(tǒng)發(fā)展 集中式系統(tǒng) 為什么需要分布式系統(tǒng) 分布式數(shù)據(jù)庫體系結(jié)構(gòu)的目標(biāo) 并行與分布式數(shù)據(jù)庫系統(tǒng) 分布式數(shù)據(jù)庫的問題 分布數(shù)據(jù)獨立與分布透明訪問 事務(wù)處理 事務(wù)處理的重要性 事務(wù)處理困難的問題數(shù)據(jù)庫系統(tǒng)發(fā)展數(shù)據(jù)庫系統(tǒng)發(fā)展 基于數(shù)據(jù)模型數(shù)據(jù)結(jié)構(gòu), 數(shù)據(jù)操作,完整性約束層次,網(wǎng)狀,關(guān)系,OO,時態(tài),空間,圖,時空,文本,工程,生物,地理,圖像數(shù)據(jù)庫等 基于運行環(huán)境集中式,分布式,并行,Cluster,Web,移動, 嵌入, 數(shù)據(jù)網(wǎng)格等數(shù)據(jù)庫主動, 實時數(shù)據(jù)庫等 事務(wù)處理 數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫系統(tǒng) 數(shù)據(jù)庫-可以存儲長時間的信息集合 數(shù)據(jù)庫管理系統(tǒng)-允許用戶使用專門的數(shù)據(jù)定義語言和操作

2、語言, 支持超大數(shù)據(jù)量數(shù)據(jù)的長時間存儲,并能正確控制多個用戶對數(shù)據(jù)的立即存取的軟件 用戶- 包括DBA, 終端用戶, 應(yīng)用程序員等數(shù)據(jù)庫系統(tǒng)體系結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)體系結(jié)構(gòu)n 單用戶數(shù)據(jù)庫系統(tǒng)單用戶數(shù)據(jù)庫系統(tǒng)n 集中式數(shù)據(jù)庫系統(tǒng)集中式數(shù)據(jù)庫系統(tǒng)n 集中的數(shù)據(jù)庫系統(tǒng)集中的數(shù)據(jù)庫系統(tǒng)n 分布的數(shù)據(jù)庫系統(tǒng)分布的數(shù)據(jù)庫系統(tǒng)n 三層數(shù)據(jù)庫系統(tǒng)三層數(shù)據(jù)庫系統(tǒng)n 分布式數(shù)據(jù)庫系統(tǒng)分布式數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu)PM.n簡化 單個前端接口 集中維護(hù)鎖 如果處理器故障,則系統(tǒng)故障 .集中式數(shù)據(jù)庫系統(tǒng)集中式數(shù)據(jù)庫系統(tǒng)應(yīng)用程序SQL查詢處理器事務(wù)處理器文件訪問 分布式數(shù)據(jù)庫系統(tǒng)(Distribut

3、ed Database SystemDDBS)的研究始于20世紀(jì)70年代中期。 數(shù)據(jù)分布的需求 異構(gòu)環(huán)境中數(shù)據(jù)集成的需求 信息系統(tǒng)集成的需求為什么需要分布式數(shù)據(jù)庫為什么需要分布式數(shù)據(jù)庫 舉例: 某大公司分別在 London, New York及 北京有分公司 職工數(shù)據(jù):EMP(ENO, NAME, TITLE, SALARY, ) 問題: 該職工數(shù)據(jù)表數(shù)據(jù)應(yīng)該如何存儲 面臨的技術(shù)問題: 舉例: 異地備份:在兩幢不同的建筑物內(nèi) 重要數(shù)據(jù):ORDER(ORDNO, CUSTNO, ADDR, ACCONT, ) 問題: 備份數(shù)據(jù)如何存儲 舉例: 銀行通存通兌儲蓄系統(tǒng) 問題: 同城存取、異地存取,跨

4、行存取 面臨的技術(shù)問題: 舉例: 新舊應(yīng)用系統(tǒng)的數(shù)據(jù)集成 問題: 異構(gòu)數(shù)據(jù)庫 舉例: 治療是否有皮膚感染的病人 問題: 該病人如何診療?診療流程專家系統(tǒng)專家系統(tǒng)信息系統(tǒng)信息系統(tǒng)? ? ? ?是否有皮膚病的歷史是否有皮膚病的歷史健康檔案健康檔案疾病的誘發(fā)原因疾病的誘發(fā)原因治療知識治療知識集中式數(shù)據(jù)庫:集中式數(shù)據(jù)庫:所有工作都由一臺計算所有工作都由一臺計算機(jī)完成機(jī)完成分散式數(shù)據(jù)庫:分散式數(shù)據(jù)庫:僅僅是把分散在各處的僅僅是把分散在各處的數(shù)據(jù)庫系統(tǒng)通過網(wǎng)絡(luò)通信連接起來,遠(yuǎn)數(shù)據(jù)庫系統(tǒng)通過網(wǎng)絡(luò)通信連接起來,遠(yuǎn)程登錄訪問程登錄訪問分布式數(shù)據(jù)庫:分布式數(shù)據(jù)庫:把分散在各處的數(shù)據(jù)庫把分散在各處的數(shù)據(jù)庫系統(tǒng)通過網(wǎng)

5、絡(luò)通信連接起來,共同完成系統(tǒng)通過網(wǎng)絡(luò)通信連接起來,共同完成某個應(yīng)用某個應(yīng)用數(shù)據(jù)庫系統(tǒng)分類數(shù)據(jù)庫系統(tǒng)分類數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫系統(tǒng)+計算機(jī)網(wǎng)絡(luò)計算機(jī)網(wǎng)絡(luò)DB1DB3DB2計算機(jī)1計算機(jī)3計算機(jī)2通訊網(wǎng)絡(luò)北京重慶上海銀行系統(tǒng) DDBSDDBS是一個數(shù)據(jù)集合,這些數(shù)據(jù)分布是一個數(shù)據(jù)集合,這些數(shù)據(jù)分布在計算機(jī)網(wǎng)絡(luò)的不同計算機(jī)上,網(wǎng)絡(luò)中每在計算機(jī)網(wǎng)絡(luò)的不同計算機(jī)上,網(wǎng)絡(luò)中每個站點具有獨立處理的能力,可以執(zhí)行局個站點具有獨立處理的能力,可以執(zhí)行局部應(yīng)用,同時每個站點也能通過網(wǎng)絡(luò)通信部應(yīng)用,同時每個站點也能通過網(wǎng)絡(luò)通信支持全局應(yīng)用。支持全局應(yīng)用。 分布式數(shù)據(jù)庫強(qiáng)調(diào)站點自治(局部應(yīng)用)以及自治站點之間的協(xié)作性(全局

6、應(yīng)用) ?!霸谧灾蔚恼军c之間協(xié)調(diào)工作在自治的站點之間協(xié)調(diào)工作”關(guān)于關(guān)于DDBS基本定義基本定義 全局應(yīng)用全局應(yīng)用 涉及到兩個或兩個以上的站點中數(shù)據(jù)庫的應(yīng)用。 局部應(yīng)用局部應(yīng)用僅涉及到所注冊站點上數(shù)據(jù)庫的應(yīng)用 區(qū)分一個數(shù)據(jù)庫系統(tǒng)是分布式還是分散式就是判斷系統(tǒng)是否支持全局應(yīng)用。 DDBS中有兩個重要的組成部分 分布式數(shù)據(jù)庫(分布式數(shù)據(jù)庫(DDBDDB) 分布式數(shù)據(jù)庫管理系統(tǒng)(分布式數(shù)據(jù)庫管理系統(tǒng)(DDBMSDDBMS) DDB是計算機(jī)網(wǎng)絡(luò)環(huán)境中各站點上數(shù)據(jù)庫的邏輯集合。換言之,DDB是一組結(jié)構(gòu)化的數(shù)據(jù)集合,邏輯上屬于同一系統(tǒng),而物理上分布在計算機(jī)網(wǎng)絡(luò)的各個不同站點。 關(guān)于關(guān)于DDB定義定義 DDB

7、MS是DDBS中的一組軟件,它負(fù)責(zé)管理分布環(huán)境下邏輯集成數(shù)據(jù)的存取、一致性和完備性。同時,由于數(shù)據(jù)的分布性,在管理機(jī)制上還必須具有計算機(jī)網(wǎng)絡(luò)通信協(xié)議的分布管理特性。關(guān)于關(guān)于DDBMS基本定義基本定義DDBMS的功能的功能 接受用戶請求,并判定把它送到哪里,或必須訪問哪些計算機(jī)才能滿足該要求 訪問網(wǎng)絡(luò)數(shù)據(jù)字典,了解如何請求和使用其中的信息; 如果目標(biāo)數(shù)據(jù)存儲于系統(tǒng)的多個計算機(jī)上,就必須進(jìn)行分布式處理; 通信接口功能。在用戶、局部DBMS和其他計算機(jī)的DBMS之間進(jìn)行協(xié)調(diào); 在一個異構(gòu)分布式環(huán)境中,還需提供數(shù)據(jù)和進(jìn)程移植的支持。這里的異構(gòu)型是指各個場地的硬件、軟件之間存在著差別。DDBMS的一般功

8、能結(jié)構(gòu)的一般功能結(jié)構(gòu)用戶查詢查詢分析優(yōu)化算法調(diào)度處理模塊LDBMSDBCM完整性處理模塊可靠性處理模塊數(shù)據(jù)數(shù)據(jù)定位定位實際的數(shù)據(jù)實際的數(shù)據(jù)需要的需要的數(shù)據(jù)數(shù)據(jù)錯誤錯誤對網(wǎng)絡(luò)的監(jiān)視信息對網(wǎng)絡(luò)的監(jiān)視信息數(shù)據(jù)數(shù)據(jù)局部處理命令局部處理命令查查詢詢處處理理模模塊塊網(wǎng)絡(luò)網(wǎng)絡(luò)分布策略分布策略系統(tǒng)系統(tǒng)DD 物理分布性物理分布性 數(shù)據(jù)存儲在不同場地上 與集中式數(shù)據(jù)庫不同 邏輯整體性邏輯整體性 數(shù)據(jù)邏輯上是一個相互聯(lián)系的整體 與分散在計算機(jī)網(wǎng)絡(luò)上不同站點上的一組沒有相互聯(lián)系的本地數(shù)據(jù)庫區(qū)別開來(與分散式數(shù)據(jù)庫的區(qū)別) 統(tǒng)一的(DDBMS)管理,支持全局應(yīng)用 站點自治站點自治 自治處理能力,完成本站點的局部應(yīng)用 與

9、多處理機(jī)系統(tǒng)的區(qū)別 場地之間協(xié)作性場地之間協(xié)作性 各場地雖然具有高度的自治性,但是又相互協(xié)作構(gòu)成一個整體。DDBS的基本特點的基本特點 數(shù)據(jù)獨立性數(shù)據(jù)獨立性DDBS除了集中式DBS的物理獨立性及邏輯獨立性,還有數(shù)據(jù)分布的獨立性,也稱分布透明性,即用戶不必關(guān)心數(shù)據(jù)物理位置的分布。 集中與自治相結(jié)合的控制結(jié)構(gòu)集中與自治相結(jié)合的控制結(jié)構(gòu) 集中式DBS中,控制是集中的,統(tǒng)一由DBA維護(hù)。 DDBS中,控制是分層的:全局DBA:管理整個數(shù)據(jù)庫本地DBA:管理本地數(shù)據(jù)庫DDBS的其他特點的其他特點 適當(dāng)增加數(shù)據(jù)冗余適當(dāng)增加數(shù)據(jù)冗余 集中式DBS中,盡可能減少數(shù)據(jù)冗余以避免不一致性及節(jié)省存儲空間。 DDBS

10、中,適當(dāng)增加冗余,在不同場地存儲同一數(shù)據(jù)的多個副本。 提高系統(tǒng)可靠性、可用性:一場地發(fā)生故障,可存取另一場地同一副本。 提高系統(tǒng)性能:存取距離最近的數(shù)據(jù)副本,減少通訊代價。 增加了數(shù)據(jù)更新時的系統(tǒng)維護(hù)代價 冗余的透明性 事務(wù)管理的分布性事務(wù)管理的分布性 若干站點上的子事務(wù)(局部事務(wù))的執(zhí)行,涉及多個站點 全局的原子性、一致性、隔離性、和永久性、可串行性、可恢復(fù)性。分布式數(shù)據(jù)庫系統(tǒng)的分類分布式數(shù)據(jù)庫系統(tǒng)的分類兩種分類方法兩種分類方法 局部數(shù)據(jù)庫管理系統(tǒng)的數(shù)據(jù)模型 全局控制系統(tǒng)類型 同構(gòu)型(同構(gòu)型(Homogeneous)DDBS 各個場地上數(shù)據(jù)庫的數(shù)據(jù)模型都是同一類型的 同構(gòu)同質(zhì)型同一類型同一型

11、號的DBMS 同構(gòu)異質(zhì)型同一類型不同型號的DBMS 異構(gòu)型(異構(gòu)型(Heterogeneous)DDBS 各個場地上數(shù)據(jù)庫的數(shù)據(jù)模型的型號不同,甚至類型也是各不相同的。 隨著計算機(jī)網(wǎng)絡(luò)技術(shù)的發(fā)展,異種機(jī)聯(lián)網(wǎng)問題已經(jīng)得到較好的解決,此時依靠異構(gòu)型DDBS就能存取全網(wǎng)中各種異構(gòu)局部數(shù)據(jù)庫中的數(shù)據(jù)。 集中型集中型DDBS DDBS中的全局控制信息位于一個中心站點 優(yōu)點 控制簡單 有助于保持一致性 缺點 容易產(chǎn)生瓶頸問題 一旦中心站點失效,整個系統(tǒng)將崩潰 分散型分散型DDBS 在每一個站點上包含全局控制信息的一個副本 優(yōu)點 節(jié)點獨立,自治性強(qiáng) 系統(tǒng)可用性好 缺點 保持信息的一致性較困難 控制復(fù)雜,需要

12、有復(fù)雜的設(shè)施 可變型可變型DDBS 在這種類型的DDBS中,將DDBS系統(tǒng)中的站點分成兩組,一組站點包含控制信息副本,稱為主站點;另一組站點不包含全局控制信息副本,稱為輔站點或從站點(也稱主從型)若主站點數(shù)目等于1時為集中型;若全部站點都是主站點時為分散型 同構(gòu)型同構(gòu)型(Homogeneous)各個Site上的DB數(shù)據(jù)模型相同, 進(jìn)一步可分為同構(gòu)同質(zhì)型同構(gòu)同質(zhì)型 和 同構(gòu)異質(zhì)型同構(gòu)異質(zhì)型 異構(gòu)型異構(gòu)型(Heterogeneous)各個Site上的DB數(shù)據(jù)模型不同. 集中型集中型 DDB的全局控制信息位于一個中心Sie上 分散型分散型每個Site上包含有全局控制信息的一個Copy 可變型可變型D

13、DB分成兩組, 一組Site包含全局控制信息Copy(主Site), 另一組不含全局Copy(輔Site) 可伸縮性 可用性 負(fù)載平衡 易于編程分布式數(shù)據(jù)庫體系結(jié)構(gòu)的目標(biāo)分布式數(shù)據(jù)庫體系結(jié)構(gòu)的目標(biāo)DDBS 體系結(jié)構(gòu)體系結(jié)構(gòu)全局用戶全局用戶GDD GDB局部用戶局部用戶全局用戶全局用戶局部用戶局部用戶CMGDBMSLDBMSLDD LDB網(wǎng)絡(luò)網(wǎng)絡(luò)全局用戶全局用戶CMGDBMSLDBMSGDD GDB局部用戶局部用戶LDD LDBCMGDBMSLDBMSLDD LDBGDD GDB組成CMGDBMSLDBMSLDDLDBGDDGDB網(wǎng)絡(luò) 數(shù)據(jù)在分布式數(shù)據(jù)庫的存儲途徑(分布的方式)。 規(guī)劃設(shè)計一個分

14、布式數(shù)據(jù)庫首要的一個問題就是數(shù)據(jù)庫中的數(shù)據(jù)應(yīng)如何分布。要規(guī)劃數(shù)據(jù)分布問題,首先應(yīng)搞清,數(shù)據(jù)分布的目的。 數(shù)據(jù)分布的目的有多種,但最主要的是提最主要的是提高訪問的局部性(高訪問的局部性(locality referencelocality reference),即通過數(shù)據(jù)的合理分布,盡可能地使數(shù)據(jù)能就地存取。分布式數(shù)據(jù)存儲分布式數(shù)據(jù)存儲除此之外,還應(yīng)注意如下的問題: 任何分布式數(shù)據(jù)庫系統(tǒng),都不可能使所有數(shù)據(jù)的訪問都局部化。 因為,即使通過增加副本,做到讀取數(shù)據(jù)全部本地化,但更新數(shù)據(jù)時,由于需要各副本同步更新,仍要大量的遠(yuǎn)距離訪問。(同步更新實現(xiàn)問題) 在DDBMS中,采取了很多措施解決事務(wù)分布式

15、執(zhí)行問題。這的確是為了在提高訪問局部性的前提下,共享數(shù)據(jù)。 但一個成功的分布式數(shù)據(jù)庫設(shè)計,應(yīng)使數(shù)據(jù)訪問局部性達(dá)到最好。而不是依靠事務(wù)的分布式執(zhí)行。 因為分布執(zhí)行的事務(wù)比局部執(zhí)行的事務(wù)花費更大,實際處理時,把一個復(fù)雜事務(wù)歸結(jié)為一個語法樹,以語法樹子樹為單位分解子事務(wù),然后分步執(zhí)行,完成后必有二目運算的綜合操作。分布式連接之類操作,其花銷是很大的。 其他分布目的 有時為提高可用性,增加一些副本。 有時本地資源不夠(如外存)不得不進(jìn)行數(shù)據(jù)分布。 數(shù)據(jù)在分布式數(shù)據(jù)庫的存儲途徑(分?jǐn)?shù)據(jù)在分布式數(shù)據(jù)庫的存儲途徑(分布的方式)布的方式)n 復(fù)制(全重復(fù)式)系統(tǒng)維護(hù)關(guān)系的幾個完全相同的副本,這些副本存儲在不同

16、的結(jié)點上。n 分片(劃分式)關(guān)系被劃分為幾個片段,各個片段存儲在不同的結(jié)點上。n 復(fù)制+分片(部分重復(fù)式)關(guān)系被劃分為幾個片段,系統(tǒng)為每個片段維護(hù)幾個副本。n 分片(劃分式)分片(劃分式) 關(guān)系被劃分為幾個片段,各個片段存儲在不同的結(jié)點上。n 分配(分布式)分配(分布式) 根據(jù)需要將數(shù)據(jù)劃分成邏輯片段,按某種策略將這些片段分散地存儲在各個站點上。數(shù)據(jù)分布涉及到兩個概念數(shù)據(jù)分布涉及到兩個概念分布式數(shù)據(jù)庫中的數(shù)據(jù)分布分布式數(shù)據(jù)庫中的數(shù)據(jù)分布 數(shù)據(jù)分布(Data Distribution)是指分布式數(shù)據(jù)庫中的數(shù)據(jù)不是存儲在一個場地的計算機(jī)存儲設(shè)備上,而是根據(jù)需要將數(shù)據(jù)劃分成邏輯片段,按照某種策略將這

17、些片段分散地存儲在各個場地上。 數(shù)據(jù)分布的策略 n 集中式n 分割式n 復(fù)制式n 混合式n 集中式集中式所有數(shù)據(jù)片段都安排在同一個站點上。 n 優(yōu)點 對數(shù)據(jù)的控制和管理容易 一致性和完整性能夠得到保證n 缺點 站點負(fù)擔(dān)過重 容易出現(xiàn)瓶頸,系統(tǒng)可靠性較差n 結(jié)論 站點設(shè)施要提高n 分割式分割式所有數(shù)據(jù)只有一份,它被分割成若干個邏輯片段,每個邏輯片段被指派在某個特定的站點上。 n 優(yōu)點 充分利用各個站點上的存儲設(shè)備,存儲量大 發(fā)揮了系統(tǒng)的開發(fā)操作能力 提高了系統(tǒng)的可靠性n 缺點 全局查詢和修改所需要時間較集中式長 不同場地間需要進(jìn)行通信n 復(fù)制式復(fù)制式全局?jǐn)?shù)據(jù)庫有多個副本,每個站點上都有一個完整的

18、數(shù)據(jù)副本。 n 優(yōu)點 系統(tǒng)可靠性高,響應(yīng)速度快 數(shù)據(jù)庫的恢復(fù)容易n 缺點 為保持各個站點上數(shù)據(jù)的同步,需付出高昂的代價 整個系統(tǒng)的數(shù)據(jù)冗余很大n 結(jié)論。 有利于只讀事務(wù),增加更新事務(wù)開銷。n 混合式混合式全部數(shù)據(jù)被分為若干個可相交的子集,每個子集存放在不同的站點上,但任一站點未必保存全部數(shù)據(jù),根據(jù)數(shù)據(jù)的重要性決定各個子集的副本的多少。 n 優(yōu)點 兼顧分割式和復(fù)制式的做法,具有二者的優(yōu)點 靈活性好,對各種情況可分別對待,系統(tǒng)效率高n 缺點 具有二者的復(fù)雜性 數(shù)據(jù)分片(Data Fragmentation)也稱數(shù)據(jù)分割。在一個分布式數(shù)據(jù)庫中,全局?jǐn)?shù)據(jù)庫是由各個局部數(shù)據(jù)庫邏輯組合而成;反之,各個局部

19、數(shù)據(jù)庫是由全局?jǐn)?shù)據(jù)庫的某種邏輯分割而得。 一個關(guān)系描述了某些數(shù)據(jù)之間得邏輯相關(guān)性,但是因為不同站點的用戶需要該關(guān)系中的元組可能不同。 在分布式數(shù)據(jù)庫中,數(shù)據(jù)存儲的單位是數(shù)據(jù)的邏輯片段。對關(guān)系數(shù)據(jù)庫來說,一個數(shù)據(jù)庫的邏輯片段是關(guān)系的一部分。分布式數(shù)據(jù)庫中的數(shù)據(jù)分片分布式數(shù)據(jù)庫中的數(shù)據(jù)分片n 優(yōu)點優(yōu)點 將關(guān)系分片,有利于按用戶需求組織數(shù)據(jù)的分布,這樣處理將各得其所,可以大大減少網(wǎng)絡(luò)上的通信,從而提高系統(tǒng)的響應(yīng)效率。 如產(chǎn)品(內(nèi)銷產(chǎn)品,出口產(chǎn)品)。 地區(qū)(上海,北京,廣州)n 分片方式分片方式 水平分片 垂直分片 導(dǎo)出分片 混合分片n 水平分片水平分片將關(guān)系r按行分為若干個互不相交的子集r1,r2,

20、rn,每個子集ri稱為一個水平片段。一個水平片段可以看成是關(guān)系上的一個選擇。ri =P(i)(r)如C_S=DNO=D08(S)關(guān)系的重構(gòu)可以通過并運算來實現(xiàn)。r= r1 r2rn 通過對全局關(guān)系施加選擇運算得到,并可通過對這些片段執(zhí)行合并操作來恢復(fù)該全局關(guān)系。n 垂直分片垂直分片 將關(guān)系r按列分為若干屬性子集r1,r2,rn,每個子集ri稱為一個垂直片段。 一個垂直片段可以看成是關(guān)系上的一個投影。ri =Ri(r) 其中Ri是r的一個屬性子集。 如 P_S = PNO,SAL(P) 關(guān)系的重構(gòu)可以通過連接運算來實現(xiàn)。r= r1 r2 rn所有分片都包括每個元組的唯一標(biāo)識碼tuple_id。n

21、 導(dǎo)出分片導(dǎo)出分片導(dǎo)出水平分片,分片的條件不是關(guān)系本身屬性條件,而是其它關(guān)系的屬性條件。如SC(S#,C#,G)按學(xué)生系別分片。n 混合分片混合分片 以上三種方式的混合。 關(guān)系按某種方式分片后,得到的片段再按另一種方式繼續(xù)分片。 如SC(S#,C#,G)按學(xué)生系別分片,再對每個片段按成績(及格,不及格)分片。定義片段的規(guī)則定義片段的規(guī)則n完備性條件完備性條件 必須把全局關(guān)系的所有數(shù)據(jù)映射到片段中,決不允許有屬于全局關(guān)系的數(shù)據(jù)卻不屬于它的任何一個片段。n可重構(gòu)條件可重構(gòu)條件 必須保證能夠由同一個全局關(guān)系的各個片段來重建該全局關(guān)系。(水平分片:并;垂直分片:連接)n不相交條件不相交條件 要求一個全

22、局關(guān)系被分割后所得的各個數(shù)據(jù)片段互不重疊(對水平分片)或只包含主鍵重疊(對垂直分片)。n 存儲代價存儲代價n 可靠性可靠性n 檢索代價檢索代價n 更新代價更新代價存儲代價和可靠性是一對矛盾的因素;檢索代價和更新代價也是一對矛盾的因素。在數(shù)據(jù)庫物理設(shè)計時應(yīng)加以權(quán)衡。數(shù)據(jù)分配策略的評估因素數(shù)據(jù)分配策略的評估因素全局全局外部級外部級全局概念級全局概念級分片級分片級分配級分配級局部局部概念級概念級局部局部內(nèi)部級內(nèi)部級映象映象1映象映象2映象映象3映象映象4映象映象5DDBS的模式結(jié)構(gòu)的模式結(jié)構(gòu) 全局外模式全局外模式 全局概念模式全局概念模式 分片模式分片模式 分配模式分配模式 局部概念模式局部概念模式

23、 局部內(nèi)部式局部內(nèi)部式六層模式結(jié)構(gòu)六層模式結(jié)構(gòu)全局外層全局外層全局概念層全局概念層局部概念層局部概念層局部內(nèi)層局部內(nèi)層分層結(jié)構(gòu) 全局外模式(全局外模式(Global External SchemaGlobal External Schema) 全局應(yīng)用的用戶視圖,也稱全局視圖全局應(yīng)用的用戶視圖,也稱全局視圖(Global ViewGlobal View),全局概念模式的子集。),全局概念模式的子集。 分布式數(shù)據(jù)庫的全局視圖的數(shù)據(jù)不是從某一個具體場地的局部數(shù)據(jù)庫中抽取,而是從一個由各局部數(shù)據(jù)庫組成的邏輯集合中抽取,即全局外模式是全局概念模式的子集。 對全局用戶而言,可以認(rèn)為在整個分布式數(shù)據(jù)庫系統(tǒng)

24、的各個場地上所有數(shù)據(jù)庫都如在本場地上一樣,只關(guān)心自己所使用的那部分?jǐn)?shù)據(jù)。 全局概念模式(全局概念模式(Global Conceptual SchemaGlobal Conceptual Schema) 定義分布式數(shù)據(jù)庫的全局?jǐn)?shù)據(jù)的整體邏輯結(jié)定義分布式數(shù)據(jù)庫的全局?jǐn)?shù)據(jù)的整體邏輯結(jié)構(gòu)和數(shù)據(jù)特性,數(shù)據(jù)如同沒有分布一樣。構(gòu)和數(shù)據(jù)特性,數(shù)據(jù)如同沒有分布一樣。 可用傳統(tǒng)的集中式數(shù)據(jù)庫中所采用的方法定義。通常全局模式采用關(guān)系模型,包括一組全局關(guān)系的定義。 全局概念視圖 全局概念模式名、屬性名、域、完整性約束 分片模式(分片模式(Fragmentation SchemaFragmentation Schema

25、) 定義全局?jǐn)?shù)據(jù)的邏輯劃分。定義全局?jǐn)?shù)據(jù)的邏輯劃分。 每個全局關(guān)系可以劃分為若干不相交的部分,每一部分稱為一個片段,即“數(shù)據(jù)分片”。分片模式就是描述數(shù)據(jù)分片或定義片段以及定義全局關(guān)系與片段之間的映象。 定義分片片段以及全局關(guān)系到片段的映象; 是一對多的,一個全局關(guān)系可對應(yīng)多個片段,一個片段只來自一個全局關(guān)系。 分配模式(分配模式(Allocation SchemaAllocation Schema) 分片的物理分配視圖,定義片段的存放地點。分片的物理分配視圖,定義片段的存放地點。 定義由數(shù)據(jù)分片得到的片段仍是DDB的全局?jǐn)?shù)據(jù),是全局關(guān)系的邏輯部分,每一個片段在物理上可定位(分配)于網(wǎng)絡(luò)的一個或

26、多個場地上。分配模式就是根據(jù)選定的數(shù)據(jù)分配策略,定義各片段的物理存放場地。在分配模式中,定義的映象類型確定了DDB是冗余的還是非冗余的。若映象是一對多,即一個片段分配到多個場地重復(fù)存放,則DDB是冗余的,否則是非冗余DDB。 局部概念模式(局部概念模式(Local Conceptual SchemaLocal Conceptual Schema) 全局概念模式的子集。全局概念模式的子集。 一個全局概念模式經(jīng)邏輯劃分成一個或多個邏輯片段,每個邏輯片段被分配在一個或多個站點上,稱為該邏輯片段在某個站點上的物理映象(Physical Image)或稱物理片段。分配在同一場地上的同一個全局概念模式的若

27、干片段(物理片段)構(gòu)成了該全局模式在該場地上的一個物理映象。 局部概念模式局部概念模式續(xù)續(xù) 一個場地上的局部概念模式是該場地上所有全局概念模式在該場地上的物理映象的集合。 局部數(shù)據(jù)庫中的概念模型,關(guān)于本地數(shù)據(jù)庫的描述; 如果局部數(shù)據(jù)庫中還有獨立應(yīng)用,則應(yīng)有局部外模式,提供給本地應(yīng)用使用。 全局概念模式與站點獨立,而局部概念模式與全局概念模式與站點獨立,而局部概念模式與站點相關(guān),即局部概念模式站點相關(guān),即局部概念模式“局部于局部于”某個站點。某個站點。全局關(guān)系全局關(guān)系R的邏輯片段與物理映象的邏輯片段與物理映象R1R2R3R4RR11R21S1(場地(場地1)1)R12R22S2(場地(場地2)2

28、)R23R33R43S3(場地(場地3)3)全局關(guān)系全局關(guān)系邏輯片段邏輯片段物理映象物理映象 局部內(nèi)模式(局部內(nèi)模式(Local Internal SchemaLocal Internal Schema) 局部數(shù)據(jù)庫的物理描述。局部數(shù)據(jù)庫的物理描述。 是DDB中關(guān)于物理數(shù)據(jù)庫的描述,類似于集中式DB中的內(nèi)模式,但其描述的內(nèi)容不僅包含局部本站點的數(shù)據(jù)的存儲描述,還包括全局?jǐn)?shù)據(jù)庫在本站點的存儲描述。 數(shù)據(jù)分片和數(shù)據(jù)分配概念的分離,形成了“數(shù)據(jù)分布獨立性”的概念; 數(shù)據(jù)冗余的顯式控制。數(shù)據(jù)在各個站點的分配情況在分配模式中一目了然,便于系統(tǒng)管理。 局部DBMS的獨立性,此也稱為“局部映象透明性”。此特

29、征允許在不考慮局部DBMS專用數(shù)據(jù)模型的情況下,研究DDB管理的有關(guān)問題。六層結(jié)構(gòu)的特征六層結(jié)構(gòu)的特征DDBS中的映象和數(shù)據(jù)獨立性中的映象和數(shù)據(jù)獨立性DDB中的數(shù)據(jù)獨立性中的數(shù)據(jù)獨立性 在DDB的六層模式結(jié)構(gòu)之間存在著五級映象,其中映象1和映象5體現(xiàn)了類似于集中式數(shù)據(jù)庫的邏輯獨立性和物理獨立性。 在DDBS中,提到數(shù)據(jù)獨立性時,更愿意用透明性這個名詞。中間三個級別的映象體現(xiàn)的獨立性分別稱為分片透明性分片透明性、位位置透明性置透明性和局部數(shù)據(jù)模型透明性局部數(shù)據(jù)模型透明性,統(tǒng)稱為“分布透明性”。實際上分布透明性可以歸入物理獨立性范圍。關(guān)于分布透明性的解釋關(guān)于分布透明性的解釋 分布透明性是指用戶或應(yīng)

30、用程序不必關(guān)心數(shù)據(jù)的邏輯分片,不必關(guān)心數(shù)據(jù)物理位置分配的細(xì)節(jié),也不必關(guān)心各個站點上數(shù)據(jù)庫的數(shù)據(jù)模型是哪種類型,可以像集中式數(shù)據(jù)庫一樣來操作物理上分布的數(shù)據(jù)庫。分片透明性分片透明性 Fragmentation Transparency 用戶或應(yīng)用程序只需對全局關(guān)系進(jìn)行操用戶或應(yīng)用程序只需對全局關(guān)系進(jìn)行操作而不必考慮數(shù)據(jù)的分片及存儲場地。作而不必考慮數(shù)據(jù)的分片及存儲場地。 當(dāng)分片模式改變時,只要改變?nèi)指拍钅J脚c分片模式之間的映象(即映象2)關(guān)系來保持全局概念模式不變,從而不會影響全局外模式和應(yīng)用程序,實現(xiàn)了分片透明性。 分片透明性是最高層次的分布透明性。位置透明性位置透明性 Location T

31、ransparency 用戶或應(yīng)用程序不必了解片段的存儲用戶或應(yīng)用程序不必了解片段的存儲位置。位置。 當(dāng)DDB不具有分片透明性,但具有位置透明性時,用戶或應(yīng)用程序必須指出片段的名稱,但不必指出片段的存儲場地。當(dāng)存儲場地發(fā)生變化時,只要改變分片模式到分配模式之間的映像(即映象3),而不會影響分片模式、全局概念模式和應(yīng)用程序,實現(xiàn)了位置透明性。 局部數(shù)據(jù)模型透明性局部數(shù)據(jù)模型透明性 Local Data Model Transparency 用戶或應(yīng)用程序不必了解局部場地上使用的用戶或應(yīng)用程序不必了解局部場地上使用的是哪種數(shù)據(jù)模型。是哪種數(shù)據(jù)模型。 當(dāng)DDB不具有分片透明性和位置透明性,但具有局部

32、數(shù)據(jù)模型透明性時,用戶編寫程序時必須指出片段的名稱,還必須指出片段的存儲場地,但不必指出局部場地上使用的是何種數(shù)據(jù)模型。數(shù)據(jù)模型的轉(zhuǎn)換以及查詢語言的轉(zhuǎn)換均由映象4完成,從而不會影響分片模式、全局概念模式、分配模式和應(yīng)用程序,實現(xiàn)了局部數(shù)據(jù)模型透明性。透明性和應(yīng)用效率透明性和應(yīng)用效率 系統(tǒng)角度:系統(tǒng)角度: 應(yīng)當(dāng)盡可能實現(xiàn)較高的透明性,以利于應(yīng)用程序的開發(fā),提高數(shù)據(jù)獨立性。 用戶角度:用戶角度:較高的透明性將很多工作交給系統(tǒng)完成,便于應(yīng)用程序的開發(fā),但引起應(yīng)用程序的執(zhí)行效率降低,往往沒有基于較低透明性所開發(fā)的應(yīng)用程序的執(zhí)行效率高。 在DDB設(shè)計時,應(yīng)在透明性和應(yīng)用效率兩方面進(jìn)行權(quán)衡。簡單查詢與分布

33、透明性示例簡單查詢與分布透明性示例 示例:設(shè)有全局關(guān)系S,它被劃分為兩個片段S_A(本科生),S_B(研究生),S_B有兩個副本。SS_AS_BS_AS_AS_B全局關(guān)系片段物理存儲Site_1Site_2Site_3寫一個查詢,輸入學(xué)號,輸出學(xué)生姓名。 系統(tǒng)具有分片透明性scanf (“%s”, S_NO); EXEC SQL select SNAME into :S_NAME from S where SNO= :S_NO;printf(“%d, %s”, S_NO, S_NAME);簡單查詢簡單查詢 分片透明性示例分片透明性示例全局關(guān)系全局關(guān)系S 系統(tǒng)具有位置透明性,但不具有分片透明性

34、scanf (“%s”,S_NO); EXEC SQL select SNAME into :S_NAME from S_A where SNO= :S_NO; if (!FOUND) EXEC SQL select SNAME into :S_NAME from S_B where SNO= :S_NO;printf(“%d, %s”, S_NO, S_NAME);簡單查詢簡單查詢 位置透明性示例位置透明性示例片段片段S_A片段片段S_B簡單查詢簡單查詢 局部數(shù)據(jù)模型透明性示例局部數(shù)據(jù)模型透明性示例 系統(tǒng)具有局部模型透明性,但不具有位置透明性 scanf (“%s”, S_NO); EXEC

35、 SQL select SNAME into :S_NAME from S_A at Site_1 where SNO= :S_NO; if (!FOUND) EXEC SQL select SNAME into :S_NAME from S_B at Site_2 (或(或Site_3) where SNO= :S_NO;printf(“%d, %s”, S_NO, S_NAME);復(fù)雜查詢與分布透明性示例復(fù)雜查詢與分布透明性示例 示例:設(shè)有全局關(guān)系S、SP,它們被劃分為兩個片段S_A、S_B, SP_A、SP_B,存放站點如下圖所示。SS_AS_A全局關(guān)系片段物理存儲Site_1Site_

36、2Site_3S_BSP_ASP_BSPS_BSP_ASP_BSite_4復(fù)雜查詢復(fù)雜查詢 分片透明性示例分片透明性示例 寫一個查詢,輸入零件號,輸出供應(yīng)該零件的供應(yīng)商編號和供應(yīng)商姓名。 系統(tǒng)具有分片透明性 scanf (“%s”, P_NO); EXEC SQL select SNO, SNAME into :S_SNO, :S_NAME from S, SP where SP.PNO= :P_NO and S.SNO=SP.SNO; printf(“%d, %s”, S_NO, S_NAME); 系統(tǒng)具有位置透明性,但不具有分片透明性 假設(shè)假設(shè): 每種零件僅由一家供應(yīng)商供給; S與SP的分

37、片模式基于這樣的事實: 由S_A中供應(yīng)商供應(yīng)的零件號在SP_A中,由S_B中供應(yīng)商供應(yīng)的零件號在SP_B中。復(fù)雜查詢復(fù)雜查詢 位置透明性示例位置透明性示例scanf (“%s”, P_NO);EXEC SQL select S1.SNO, SNAME into :S_SNO, :S_NAME from S_A as S1, SP_A as SP1 where SP1.PNO= :P_NO and S1.SNO=SP1.SNO; if (!FOUND) EXEC SQL select S2.SNO, SNAME into :S_SNO, :S_NAME from S_B as S2, SP_B

38、as SP2 where SP2.PNO= :P_NO and S2.SNO=SP2.SNO;printf(“%d, %s”, S_NO, S_NAME); 注意注意: 如果片段SP_A、SP_B與S_A、S_B之間不存在上述這一“事實”,要找出供應(yīng)商指定零件號的供應(yīng)商姓名,一種自然的解決方法是至少包括四個不同的查詢,每個查詢對應(yīng)于一對片段的連接:S_ASP_A,S_ASP_B,S_BSP_A,S_BSP_B。 系統(tǒng)具有局部模型透明性,但不具有位置透明性 假設(shè)條件同上。假設(shè)條件同上。 需要考慮站點的分布問題。復(fù)雜查詢復(fù)雜查詢 局部數(shù)據(jù)模型透明性示例局部數(shù)據(jù)模型透明性示例scanf (“%s”,

39、 P_NO);EXEC SQL select SNO into :S_SNO from SP_A at Site_3 where PNO= :P_NO; if (FOUND) begin SEND S_SNO from Site_3 to Site_1; EXEC SQL select SNAME into :S_NAME from S_A at Site_1 where SNO=:S_SNO; endelsebegin EXEC SQL select SNO into :S_SNO from SP_B at Site_4 where PNO= :P_NO; SEND S_SNO from S

40、ite_4 to Site_2; EXEC SQL select SNAME into :S_NAME from S_B at Site_2 where SNO=:SNO;end;printf(“%d, %s”, S_NO, S_NAME);更新應(yīng)用與分布透明性更新應(yīng)用與分布透明性參見課本31-34頁。分布式數(shù)據(jù)庫的問題分布式數(shù)據(jù)庫的問題分布式DB設(shè)計 決定什么數(shù)據(jù)存放在何處 依賴于主要應(yīng)用的訪問方式 兩個子問題: 分片(Fragmentation): 將表分割成片段 分配(Allocation): 將片段放置到站點分布式查詢處理 集中式查詢計劃的目標(biāo): 極小化磁盤I/O 分布式情形還要考慮

41、通訊代價 數(shù)據(jù)合理分布(數(shù)據(jù)局部化) 并行處理的可能性 可能存在的查詢計劃空間大于集中式查詢計劃空間!分布式數(shù)據(jù)庫的問題分布式數(shù)據(jù)庫的問題分布式并發(fā)控制 事務(wù)跨越多個站點 必須是全局可串行化 兩種主要技術(shù) Locking Timestamps 分布式死鎖管理 數(shù)據(jù)多副本 更新時需要保持同步分布式數(shù)據(jù)庫的問題分布式數(shù)據(jù)庫的問題分布式數(shù)據(jù)庫的可用性 集中式的故障模型 處理器故障 分布式的故障模型 一個或多個處理器故障 網(wǎng)絡(luò)故障 網(wǎng)絡(luò)分割 數(shù)據(jù)必須保持同步分布式數(shù)據(jù)庫的問題分布式數(shù)據(jù)庫的問題 具有靈活的體系結(jié)構(gòu)具有靈活的體系結(jié)構(gòu)具有充分的場地自治性,集中與分散的有機(jī)結(jié)合 適應(yīng)分布式的管理和控制結(jié)構(gòu)適

42、應(yīng)分布式的管理和控制結(jié)構(gòu)符合企業(yè)分布的組織結(jié)構(gòu) 經(jīng)濟(jì)性能優(yōu)越經(jīng)濟(jì)性能優(yōu)越由微型機(jī)或超級小型機(jī)支持的DDBS的性能價格比要比一個由大型機(jī)支持的一個大型集中式數(shù)據(jù)庫的性能價格比好得多DDBS的優(yōu)點的優(yōu)點 系統(tǒng)的可靠性高,可用性好系統(tǒng)的可靠性高,可用性好系統(tǒng)的局部故障不致引起全局失控 局部應(yīng)用的響應(yīng)速度快局部應(yīng)用的響應(yīng)速度快局部應(yīng)用只訪問本地數(shù)據(jù)庫 可擴(kuò)展性好,易于集成現(xiàn)有的系統(tǒng)可擴(kuò)展性好,易于集成現(xiàn)有的系統(tǒng)只要增加場地數(shù),就能擴(kuò)充數(shù)據(jù)庫;同時開發(fā)全局應(yīng)用,只要對原有的局部數(shù)據(jù)庫系統(tǒng)作某些改動,就可以形成分布式數(shù)據(jù)庫DDBS的缺點的缺點復(fù)雜的存取結(jié)構(gòu)復(fù)雜的存取結(jié)構(gòu) 如輔助索引、文件的鏈接技術(shù)。在集中式D

溫馨提示

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

最新文檔

評論

0/150

提交評論