熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

分布式數據庫系統(DDBS)概述

2013-11-13 15:36:35  來源: Oracle 

  什麼是分布式數據庫

  分布式數據庫系統是在集中式數據庫系統的基礎上發展來的是數據庫技術與網絡技術結合的產物

  分布式數據庫系統有兩種一種是物理上分布的但邏輯上卻是集中的這種分布式數據庫只適宜用途比較單一的不大的單位或部門另一種分布式數據庫系統在物理上和邏輯上都是分布的也就是所謂聯邦式分布數據庫系統由於組成聯邦的各個子數據庫系統是相對自治這種系統可以容納多種不同用途的差異較大的數據庫比較適宜於大范圍內數據庫的集成

  分布式數據庫系統(DDBS)包含分布式數據庫管理系統(DDBMS)和分布式數據庫(DDB)

  在分布式數據庫系統中一個應用程序可以對數據庫進行透明操作數據庫中的數據分別在不同的局部數據庫中存儲由不同的DBMS進行管理在不同的機器上運行由不同的操作系統支持被不同的通信網絡連接在一起

  一個分布式數據庫在邏輯上是一個統一的整體即在用戶面前為單個邏輯數據庫在物理上則是分別存儲在不同的物理節點上一個應用程序通過網絡的連接可以訪問分布在不同地理位置的數據庫它的分布性表現在數據庫中的數據不是存儲在同一場地更確切地講不存儲在同一計算機的存儲設備上 這就是與集中式數據庫的區別從用戶的角度看一個分布式數據庫系統在邏輯上和集中式數據庫系統一樣用戶可以在任何一個場地執行全局應用就好那些數據是存儲在同一台計算機上有單個數據庫管理系統(DBMS)管理一樣用戶並沒有什麼感覺不一樣

  分布式數據庫中每一個數據庫服務器合作地維護全局數據庫的一致性

  分布式數據庫系統是一個客戶/服務器體系結構

  在系統中的每一台計算機稱為結點如果一結點具有管理數據庫軟件該結點稱為數據庫服務器如果一個結點為請求服務器的信息的一應用該結點稱為客戶在ORACLE客戶執行數據庫應用可存取數據信息和與用戶交互在服務器執行ORACLE軟件處理對ORACLE數據庫並發共享數據存取ORACLE允許上述兩部分在同一台計算機上但當客戶部分和服務器部分是由網連接的不同計算機上時更有效

  分布處理是由多台處理機分擔單個任務的處理在ORACLE數據庫系統中分布處理的例子如

  客戶和服務器是位於網絡連接的不同計算機上

  單台計算機上有多個處理器不同處理器分別執行客戶應用

  參與分布式數據庫的每一服務器是分別地獨立地管理數據庫好像每一數據庫不是網絡化的數據庫每一個數據庫獨立地被管理稱為場地自治性場地自治性有下列好處

  ◆系統的結點可反映公司的邏輯組織

  ◆由局部數據庫管理員控制局部數據這樣每一個數據庫管理員責任域要小一些可更好管理

  ◆只要一個數據庫和網絡是可用那麼全局數據庫可部分可用不會因一個數據庫的故障而停止全部操作或引起性能瓶頸

  ◆故障恢復通常在單個結點上進行

  ◆每個局部數據庫存在一個數據字典

  ◆結點可獨立地升級軟件

  可從分布式數據庫的所有結點存取模式對象因此正像非分布的局部的DBMS必須提供一種機制可在局部數據庫中引用一個對象分布式DBMS必須提供一種命名模式以致分布式數據庫中一個對象可在應用中唯一標識和引用一般在層次結構的每一層實施唯一性分布式DBMS簡單地擴充層次命名模型實施在網絡上唯一數據庫命名因此一個對象的全局對象名保證在分布式數據庫內是唯一

  ORACLE允許在SQL語句中使用全局對象名引用分布式數據庫中的模式對象(表視圖和過程)在ORACLE中一個模式對象的全局名由三部分組成包含對象的模式名對象名數據庫名其形式如

  SCOTTEMP@SALESDIVISIONACMECOM

  一個遠程查詢為一查詢是從一個或多個遠程表中選擇信息這些表駐留在同一個遠程結點

  一個分布式查詢可從兩個或多個結點檢索數據一個分布式更新可修改兩個或兩個以上結點的數據

  一個遠程事務為一個事務包含一人或多個遠程語句它所引用的全部是在同一個遠程結點上一個分布式事務中一個事務包含一個或多個語句修改分布式數據庫的兩個或多個不同結點的數據

  在分布式數據庫中事務控制必須在網絡上直轄市保證數據一致性兩階段提交機制保證參與分布式事務的全部數據庫服務器是全部提交或全部回滾事務中的語句

  ORACLE分布式數據庫系統結構可由ORACLE數據庫管理員為終端用戶和應用提供位置透明性利用視圖同義詞過程可提供ORACLE分布式數據庫系統中的位置透明性

  ORACLE提供兩種機制實現分布式數據庫中表重復的透明性表快照提供異步的表重復;觸發器實現同步的表的重復在兩種情況下都實現了對表重復的透明性

  在單場地或分布式數據庫中所有事務都是用COMMIT或ROLLBACK語句中止

  分布式數據庫系統的分類

  () 同構同質型DDBS各個場地都采用同一類型的數據模型(譬如都是關系型)並且是同一型號的DBMS

  ()同構異質型DDBS各個場地采用同一類型的數據模型但是DBMS的型號不同譬如DBORACLESYBASESQL Server等

  ()異構型DDBS各個場地的數據模型的型號不同甚至類型也不同隨著計算機網絡技術的發展異種機聯網問題已經得到較好的解決此時依靠異構型DDBS就能存取全網中各種異構局部庫中的數據

  分布式數據庫系統主要特點

  DDBS的基本特點

  ()物理分布性數據不是存儲在一個場地上而是存儲在計算機網絡的多個場地上

  邏輯整體性數據物理分布在各個場地但邏輯上是一個整體它們被所有用戶(全局用戶)共享並由一個DDBMS統一管理

  ()場地自治性各場地上的數據由本地的DBMS管理具有自治處理能力完成本場地的應用(局部應用)

  ()場地之間協作性各場地雖然具有高度的自治性但是又相互協作構成一個整體

  DDBS的其他特點

  ()數據獨立性

  ()集中與自治相結合的控制機制

  ()適當增加數據冗余度

  ()事務管理的分布性

  分布式數據庫系統的優點

  ()更適合分布式的管理與控制

  分布式數據庫系統的結構更適合具有地理分布特性的組織或機構使用允許分布在不同區域不同級別的各個部門對其自身的數據實行局部控制例如實現全局數據在本地錄入查詢維護這時由於計算機資源靠近用戶可以降低通信代價提高響應速度而涉及其他場地數據庫中的數據只是少量的從而可以大大減少網絡上的信息傳輸量;同時局部數據的安全性也可以做得更好

  ()具有靈活的體系結構

  集中式數據庫系統強調的是集中式控制物理數據庫是存放在一個場地上的由一個DBMS集中管理多個用戶只可以通過近程或遠程終端在多用戶操作系統支持下運行該DBMS來共享集中是數據庫中的數據而分布式數據庫系統的場地局部DBMS的自治性使得大部分的局部事務管理和控制都能就地解決只有在涉及其他場地的數據時才需要通過網絡作為全局事務來管理分布式DBMS可以設計成具有不同程度的自治性從具有充分的場地自治到幾乎是完全集中式的控制

  ()系統經濟可靠性高可用性好

  與一個大型計算機支持一個大型的集中式數據庫在加一些進程和遠程終端相比由超級微型計算機或超級小型計算機支持的分布式數據庫系統往往具有更高的性價比和實施靈活性分布式系統比集中式系統具有更高的可靠性和更好的可用性如由於數據分布在多個場地並有許多復制數據在個別場地或個別通信鏈路發生故障時不致於導致整個系統的崩潰而且系統的局部故障不會引起全局失控

  ()在一定條件下響應速度加快

  如果存取的數據在本地數據庫中那麼就可以由用戶所在的計算機來執行速度就快

  ()可擴展性好易於集成現有系統也易於擴充

  對於一個企業或組織可以采用分布式數據庫技術在以建立的若干數據庫的基礎上開發全局應用對原有的局部數據庫系統作某些改動形成一個分布式系統這比重建一個大型數據庫系統要簡單既省時間又省財力物力也可以通過增加場地數的辦法迅速擴充已有的分布式數據庫系統

  分布式數據庫系統的劣勢

  ()通信開銷較大故障率高

  例如在網絡通信傳輸速度不高時系統的響應速度慢與通信相關的因素往往導致系統故障同時系統本身的復雜性也容易導致較高的故障率當故障發生後系統恢復也比較復雜可靠性有待提高

  ()數據的存取結構復雜

  一般來說在分布時數據庫中存取數據比在集中時數據庫中存取數據更復雜開銷更大

  ()數據的安全性和保密性較難控制

  在具有高度場地自治的分布時數據庫中不同場地的局部數據庫管理員可以采用不同的安全措施但是無法保證全局數據都是安全的安全性問題式分布式系統固有的問題因為分布式系統式通過通信網絡來實現分布控制的而通信網絡本身卻在保護數據的安全性和保密性方面存在弱點數據很容易被竊取

  分布式數據庫的設計場地劃分及數據在不同場地的分配比較復雜數據的劃分及分配對系統的性能響應速度及可用性等具有極大的影響不同場地的通信速度與局部數據庫系統的存取部件的存取速度相比是非常慢的通信系統有較高的延遲在CPU上處理通信信息的代價很高分布式數據庫系統中要注意解決分布式數據庫的設計查詢處理和優化事務管理及並發控制和目錄管理等問題

  分布式數據庫系統數據分片

  類型

  水平分片

  按一定的條件把全局關系的所有元組劃分成若干不相交的子集每個子集為關系的一個片段

  垂直分片

  把一個全局關系的屬性集分成若干子集並在這些子集上作投影運算每個投影稱為垂直分片

  導出分片

  又稱為導出水平分片即水平分片的條件不是本關系屬性的條件而是其他關系屬性的條件

  混合分片

  以上三種方法的混合可以先水平分片再垂直分片或先垂直分片再水平分片或其他形式但他們的結果是不相同的

  條件

  ()完備性條件

  必須把全局關系的所有數據映射到片段中決不允許有屬於全局關系的數據卻不屬於它的任何一個片段

  ()可重構條件

  必須保證能夠由同一個全局關系的各個片段來重建該全局關系對於水平分片可用並操作重構全局關系;對於垂直分片可用聯接操作重構全局關系

  ()不相交條件

  要求一個全局關系被分割後所得的各個數據片段互不重疊(對垂直分片的主鍵除外)

  分布式數據庫系統數據分配方式

  ()集中式所有數據片段都安排在同一個場地上

  ()分割式

  所有數據只有一份它被分割成若干邏輯片段每個邏輯片段被指派在一個特定的場地上

  ()全復制式數據在每個場地重復存儲也就是每個場地上都有一個完整的數據副本

  ()混合式這是一種介乎於分割式和全復制式之間的分配方式

  分布式數據庫系統體系結構

  數據分片和數據分配概念的分離形成了數據分布獨立型概念

  數據冗余的顯式控制數據在各個場地的分配情況在分配模式中一目了然便於系統管理

  局部DBMS的獨立性這個特征也稱為局部映射透明性此特征允許我們在不考慮局部DBMS專用數據模型的情況下研究DDB管理的有關問題

  分布式數據庫管理系統

  接受用戶請求並判定把它送到哪裡或必須訪問哪些計算機才能滿足該要求

  訪問網絡數據字典了解如何請求和使用其中的信息

  如果目標數據存儲於系統的多個計算機上就必須進行分布式處理

  通信接口功能在用戶局部DBMS和其他計算機的DBMS之間進行協調

  在一個異構型分布式處理環境中還需提供數據和進程移植的支持這裡的異構型是指各個場地的硬件軟件之間存在著差別

  分布式數據庫管理系統

  分布式數據庫管理系統

  

  分布式數據庫體系結構


From:http://tw.wingwit.com/Article/program/Oracle/201311/16998.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.