




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
分布式數據庫系統2024前言 隨著傳統的數據庫技術日趨成熟、計算機網絡技術的飛速發展和應用范圍的擴充,數據庫應用已經普遍建立于計算機網絡之上。這時集中式數據庫系統表現出它的不足:數據按實際需要已在網絡上分布存儲,再采用集中式處理,勢必造成通信開銷大;應用程序集中在一臺計算機上運行,一旦該計算機發生故障,則整個系統受到影響,可靠性不高;集中式處理引起系統的規模和配置都不夠靈活,系統的可擴充性差。在這種形勢下,集中式DB的“集中計算”概念向“分布計算”概念發展。分布計算主要體現在客戶機/服務器模式和分布式數據庫體系結構兩個方面。本章將分別介紹這兩種技術。11.1集中計算與分布計算(一)“集中計算”概念11.1集中計算與分布計算(二)“分布計算”概念處理分布數據分布功能分布11.1集中計算與分布計算(三)客戶機/服務器系統的結構11.2.1C/S系統的計算模式C/S結構的工作模式C/S環境下應用成分的分布C/S主要技術特征11.2.2C/S系統的體系結構服務器客戶機中間件11.2.3C/S結構的演變(一)兩層C/S結構11.2.3C/S結構的演變(二)三層C/S結構11.2.3C/S結構的演變(三)多層C/S結構11.2.4網絡服務器的類型DB服務器文件服務器事務服務器文檔服務器Web服務器電子郵件服務器其他應用服務器11.3分布式數據庫系統概述 隨著傳統的數據庫技術日趨成熟、計算機網絡技術的飛速發展和應用范圍的擴大,以分布式為主要特征的數據庫系統的研究與開發受到人們的注意。分布式數據庫是數據庫技術與網絡技術相結合的產物,在數據庫領域已形成一個分支。分布式數據庫的研究始于20世紀70年代中期。世界上第一個分布式數據庫系統SDD-1是由美國計算機公司(CCA)于1979年在DEC計算機上實現。20世紀90年代以來,分布式數據庫系統進入商品化應用階段,傳統的關系數據庫產品均發展成以計算機網絡及多任務操作系統為核心的分布式數據庫產品,同時分布式數據庫逐步向客戶機/服務器模式發展。11.3.1從集中式、分散式到分布式隨著數據庫應用的不斷發展,規模的不斷擴大,逐漸感覺到集中式系統也有不便之處。如大型DBS的設計和操作都比較復雜,系統顯得不靈活并且安全性也較差。因此,采用將數據分散的方法,把數據庫分成多個,建立在多臺計算機上,這種系統稱為分散式系統。在這種系統中,數據庫的管理、應用程序的研制等都是分開并相互獨立,它們之間不存在數據通信聯系。由于計算機網絡通信的發展,有可能把分散在各處的數據庫系統通過網絡通信連接起來,這樣形成的系統稱為分布式數據庫系統(DDBS)。DDBS兼有集中式和分散式的優點。這種系統有多臺計算機組成,各計算機之間由通信網絡相互連系著。11.3.2DDBS的定義分布式系統是用通信網絡連接起來的結點(亦稱為“場地”)的集合,每個結點都是擁有集中式數據庫的計算機系統。定義9.1DDBS是物理上分散邏輯上集中的數據庫系統,系統中的數據分布存放在計算機網絡的不同場地的計算機中,每一場地都有自治處理(即獨立處理)能力并能完成局部應用,而每一場地也參與(至少一種)全局應用,程序通過網絡通信子系統執行全局應用。定義9.2DDB是計算機網絡環境中各場地上數據庫的邏輯集合。定義9.3DDBMS是DDBS中的一組軟件,它負責管理分布環境下邏輯集成數據的存取、一致性和完備性。11.3.3DDBS的特點DDBS的基本特點物理分布性:數據不是存儲在一個場地上,而是存儲在計算機網絡的多個場地上。邏輯整體性:數據物理分布在各個場地,但邏輯上是一個整體,它們被所有用戶(全局用戶)共享,并由一個DDBMS統一管理。場地自治性:各場地上的數據由本地的DBMS管理,具有自治處理能力,完成本場地的應用(局部應用)。場地之間協作性:各場地雖然具有高度的自治性,但是又相互協作構成一個整體。11.3.3DDBS的特點DDBS的其他特點數據獨立性集中與自治相結合的控制機制適當增加數據冗余度事務管理的分布性11.3.3DDBS的特點DDBS的優點具有靈活的體系結構適應分布式的管理和控制機構經濟性能優越系統的可靠性高、可用性好局部應用的響應速度快可擴展性好,易于集成現有的系統11.3.3DDBS的特點DDBS的缺點系統開銷較大,主要花在通信部分。復雜的存取結構(如輔助索引、文件的鏈接技術),在集中式DBS中是有效存取數據的重要技術,但在分布式系統中不一定有效。數據的安全性和保密性較難處理。11.3.4DDBS的分類同構同質型DDBS:各個場地都采用同一類型的數據模型(譬如都是關系型),并且是同一型號的DBMS。同構異質型DDBS:各個場地采用同一類型的數據模型,但是DBMS的型號不同,譬如DB2、ORACLE、SYBASE、SQLServer等。異構型DDBS:各個場地的數據模型的型號不同,甚至類型也不同。隨著計算機網絡技術的發展,異種機聯網問題已經得到較好的解決,此時依靠異構型DDBS就能存取全網中各種異構局部庫中的數據。11.4.1數據分片水平分片:按一定的條件把全局關系的所有元組劃分成若干不相交的子集,每個子集為關系的一個片段。垂直分片:把一個全局關系的屬性集分成若干子集,并在這些子集上作投影運算,每個投影稱為垂直分片。導出分片:又稱為導出水平分片,即水平分片的條件不是本關系屬性的條件,而是其他關系屬性的條件。混合分片:以上三種方法的混合。可以先水平分片再垂直分片,或先垂直分片再水平分片,或其他形式,但他們的結果是不相同的。11.4.1數據分片完備性條件:必須把全局關系的所有數據映射到片段中,決不允許有屬于全局關系的數據卻不屬于它的任何一個片段。可重構條件:必須保證能夠由同一個全局關系的各個片段來重建該全局關系。對于水平分片可用并操作重構全局關系;對于垂直分片可用聯接操作重構全局關系。不相交條件:要求一個全局關系被分割后所得的各個數據片段互不重疊(對垂直分片的主鍵除外)。11.4.2數據分配集中式:所有數據片段都安排在同一個場地上。分割式:所有數據只有一份,它被分割成若干邏輯片段,每個邏輯片段被指派在一個特定的場地上。全復制式:數據在每個場地重復存儲。也就是每個場地上都有一個完整的數據副本。混合式:這是一種介乎于分割式和全復制式之間的分配方式。11.5分布式數據庫的體系結構11.5.1體系結構全局外模式全局概念模式分片模式分配模式局部概念模式局部內模式11.5.1體系結構11.5.1體系結構數據分片和數據分配概念的分離,形成了“數據分布獨立型”概念。數據冗余的顯式控制。數據在各個場地的分配情況在分配模式中一目了然,便于系統管理。局部DBMS的獨立性。這個特征也稱為“局部映射透明性”。此特征允許我們在不考慮局部DBMS專用數據模型的情況下,研究DDB管理的有關問題。11.5.2分布透明性11.5.2分布透明性分片透明性位置透明性局部數據模型透明性11.5.3分布式數據庫管理系統DDBS的組成框架11.5.3分布式數據庫管理系統接受用戶請求,并判定把它送到哪里,或必須訪問哪些計算機才能滿足該要求。訪問網絡數據字典,了解如何請求和使用其中的信息。如果目標數據存儲于系統的多個計算機上,就必須進行分布式處理。通信接口功能。在用戶、局部DBMS和其他計算機的DBMS之間進行協調。在一個異構型分布式處理環境中,還需提供數據和進程移植的支持。這里的異構型是指各個場地的硬件、軟件之間存在著差別。11.5.3分布式數據庫管理系統11.6.3基于半聯接的優化策略數據在網絡中傳輸時,都是以整個關系(也可以是片段)傳輸,顯然這是一種冗余的方法。在一個關系傳輸到另一場地后,并非每個數據都參與聯接操作或都有用。因此,不參與聯接的數據或無用的數據不必在網絡中來回傳輸。這個思想引出了基于半聯接的優化策略。這個方法的基本原理是采用半聯接操作,在網絡中只傳輸參與聯接的數據。11.6.3基于半聯接的優化策略 假設關系R在場地1,關系S在場地2,在場地2需要獲得R?S的結果。如果在場地2直接計算R?S的值,那么需要先把關系R從場地1傳輸到場地2,其執行示意圖見圖9.16。顯然,傳輸R的數據量較大。 可以采用半聯接方法計算聯接操作的值。方法如下(設R和S的公共屬性為B):R?S=(R?πB(S))?S=(R?S)?S。等式右邊的式子稱為“半聯接程序”。11.6.3基于半聯接的優化策略
11.6.4基于聯接的優化方法兩個關系在同一場地嵌套循環法:順序掃描外層關系R,對R的每一個元組掃描內層關系S,查找在聯接屬性上一致的元組,把匹配的元組組合起來使之成為聯接結果的一部分。這種方法要求掃描一次關系R和掃描card(R)次關系S(可見S的元組越少越好),以查找匹配的元組。排序掃描法:先把兩個關系按聯接屬性進行排序,然后按照聯接屬性值的順序掃描這兩個關系,使匹配的元組成為聯接結果的一部分。這種方法對兩個關系都只掃描了一次。但增加了排序代價。11.6.4基于聯接的優化方法兩個關系在不同場地整體傳輸:若有聯接操作R?S,R為外層關系,S為內層關系。如果傳送的是內層關系S,則在目的地必須把它存入一個臨時關系中(因為S將被多次掃描,但傳輸量少)。如果傳送的是外層關系R,則內層關系S可直接使用依次到來的R元組,而無需保存R(但傳輸量大)。按需傳輸:只傳輸所需聯接的元組,一次一個元組,無需臨時存儲器。因為每次提取都要求交換一次信息,所以傳輸代價較高,只有在高速局部網絡中才是合理的。11.7.1DDB中的問題數據項的多拷貝問題:由于DDB存在著冗余,有可能一個數據存儲在多個場地,因此并發控制方法和恢復方法都應保證這些拷貝間的一致性。單個場地的故障:當系統中一個或多個場地發生故障時,DDBMS應當繼續和其他正在運行的場地一起工作。當一個場地得到恢復時,它的局部數據庫必須在它與系統重連接之前保持和其他場地同步。通訊網絡的故障:系統必須有能力處理一個或多個連接場地的通訊故障。這個問題的極端情況是發生網絡分割,即將網絡分割成若干分區,每個分區內的場地可以相互通訊,而不同分區內的場地不能通訊。分布式提交:如果某些場地在提交過程中發生故障時,提交用于訪問存儲在多個場地數據庫的事務時也會產生問題。分布式死鎖:死鎖可能會在若干場地中發生,處理死鎖的技術必須要擴充以考慮這種情況。11.7.2基于數據項識別拷貝的分布式并發控制主場地技術有備份場地的主場地技術主拷貝技術有備份場地的主拷貝技術發生故障時選擇一個新的協調者場地技術11.8.3基于投票方法的分布式并發控制在投票方法中,沒有識別拷貝,而封鎖請求被發送到所有包含該數據項拷貝的場地上。每個拷貝維護它自己的鎖并且可以授予或拒絕封鎖。如果一個請求封鎖的事務被大多數的拷貝授予鎖的話,它將持有該鎖并告知所有的拷貝它已經獲得鎖。如果一個事務在給定的間隔時間段中沒有獲得授予它鎖的大部分投票的話,它將取消它的請求并把取消決定告知所有的場地。投票方法被認為是真正的分布式并發控制方法,因為決策的職責駐留在所有涉及到的場地上。經實驗表明,投票方法在場地間產生的信息通信量比識別拷貝方法產生的要高。如果算法要考慮投票過程中可能的場地故障時,它就會變得很復雜了。小結“分布計算”概念突破了集中式DBS的框架,數據分布使系統走上分布式DB的道路,功能分布使系統走上C/S道路。這是DBS的兩個發展。C/S系統包括一個計算機網絡,通常用一個局域網連結。幾乎在所有情況下,客戶機都是微機;服務器有時用小型機或大型機,但多數情況下也使用微機或高檔微機。應用程序在客戶機上處理,DBMS和OS的數據管理分放在服務器上。小結C/S結構經歷了從兩層、三層到多層的演變過程。總的趨勢是使客戶機越來越“瘦”,變成瀏覽器;而服務器的種類越來越多,容易實現系統的組裝。C/S系統使應用與用戶更加貼近,為用戶提供較好的性能和更復雜的界面。分布式系統是在集中式系統的基礎上發展而來的。DDB是數據庫技術與網絡技術結合的產物。隨著計算機網絡技術的飛速發展,DDBS日趨成為數據庫領域的主流方向。小結DDB具有數據分布性和邏輯整體性的特點。DDBS能夠支持涉及多個場地的全局應用。DDB的數據存儲有數據分片和數據分配兩種策略。DDB的模式結構為理解DDBS提供了一種通用的概念結構。分布透明性是
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論