分散式資料庫

用手机看条目

出自 MBA智库百科(https://wiki.mbalib.com/)

目錄

什麼是分散式資料庫

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

分散式資料庫的分類

  分散式資料庫系統(DDBS)包含分散式資料庫管理系統(DDBMS)和分散式資料庫(DDB)。在分散式資料庫系統中,一個應用程式可以對資料庫進行透明操作,資料庫中的數據分別在不同的局部資料庫中存儲、由不同的DBMS進行管理、在不同的機器上運行、由不同的操作系統支持、被不同的通信網絡連接在一起。

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

  分散式資料庫系統是在集中式資料庫系統的基礎上發展起來的,是電腦技術網路技術結合的產物。分散式資料庫系統適合於單位分散的部門,允許各個部門將其常用的數據存儲在本地,實施就地存放本地使用,從而提高響應速度,降低通信費用。分散式資料庫系統與集中式資料庫系統相比具有可擴展性,通過增加適當的數據冗餘,提高系統的可靠性。在集中式資料庫中,儘量減少冗餘度是系統目標之一。其原因是,冗餘數據浪費存儲空間,而且容易造成各副本之間的不一致性。而為了保證數據的一致性,系統要付出一定的維護代價。減少冗餘度的目標是用數據共用來達到的。而在分散式資料庫中卻希望增加冗餘數據,在不同的場地存儲同一數據的多個副本,其原因是:

  1、提高系統的可靠性、可用性當某一場地出現故障時,系統可以對另一場地上的相同副本進行操作,不會因一處故障而造成整個系統的癱瘓。

  2、提高系統性能系統可以根據距離選擇離用戶最近的數據副本進行操作,減少通信代價,改善整個系統的性能。

分散式資料庫的特性

  1、數據獨立性與位置透明性。數據獨立性是資料庫方法追求的主要目標之一,分佈透明性指用戶不必關心數據的邏輯分區,不必關心數據物理位置分佈的細節,也不必關心重覆副本(冗餘數據)的一致性問題,同時也不必關心局部場地上資料庫支持哪種數據模型。分佈透明性的優點是很明顯的。有了分佈透明性,用戶的應用程式書寫起來就如同數據沒有分佈一樣。當數據從一個場地移到另一個場地時不必改寫應用程式。當增加某些數據的重覆副本時也不必改寫應用程式。數據分佈的信息由系統存儲在數據字典中。用戶對非本地數據的訪問請求由系統根據數據字典予以解釋、轉換、傳送。

  2、集中和節點自治相結合。資料庫是用戶共用的資源。在集中式資料庫中,為了保證資料庫的安全性和完整性,對共用資料庫的控制是集中的,並設有DBA負責監督和維護系統的正常運行。在分散式資料庫中,數據的共用有兩個層次:一是局部共用,即在局部資料庫中存儲局部場地上各用戶的共用數據。這些數據是本場地用戶常用的。二是全局共用,即在分散式資料庫的各個場地也存儲可供網中其它場地的用戶共用的數據,支持系統中的全局應用。因此,相應的控制結構也具有兩個層次:集中和自治。分散式資料庫系統常常採用集中和自治相結合的控制結構,各局部的DBMS可以獨立地管理局部資料庫,具有自治的功能。同時,系統又設有集中控制機制,協調各局部DBMS的工作,執行全局應用。當然,不同的系統集中和自治的程度不盡相同。有些系統高度自治,連全局應用事務的協調也由局部DBMS、局部DBA共同承擔而不要集中控制,不設全局DBA,有些系統則集中控製程度較高,場地自治功能較弱。

  3、支持全局資料庫的一致性和和可恢復性。分散式資料庫中各局部資料庫應滿足集中式資料庫的一致性、可串列性和可恢復性。除此以外還應保證資料庫的全局一致性、並行操作的可串列性和系統的全局可恢復性。這是因為全局應用要涉及兩個以上結點的數據。因此在分散式資料庫系統中一個業務可能由不同場地上的多個操作組成。例如,銀行轉帳業務包括兩個結點上的更新操作。這樣,當其中某一個結點出現故障操作失敗後如何使全局業務滾回呢?如何使另一個結點撤銷已執行的操作(若操作已完成或完成一部分)或者不必再執行業務的其它操作(若操作尚沒執行)?這些技術要比集中式資料庫複雜和困難得多,分散式資料庫系統必須解決這些問題。

  4、複製透明性。用戶不用關心資料庫在網路中各個節點的複製情況,被覆制的數據的更新都由系統自動完成。在分散式資料庫系統中,可以把一個場地的數據複製到其他場地存放,應用程式可以使用複製到本地的數據在本地完成分散式操作,避免通過網路傳輸數據,提高了系統的運行和查詢效率。但是對於複製數據的更新操作,就要涉及到對所有複製數據的更新。

  5、易於擴展性。在大多數網路環境中,單個資料庫伺服器最終會不滿足使用。如果伺服器軟體支持透明的水平擴展,那麼就可以增加多個伺服器來進一步分佈數據和分擔處理任務。

分散式資料庫的目標

  分散式資料庫系統的目標,也就是研製分散式資料庫系統的目的、動機,主要包括技術和組織兩方面的目標

  1、適應部門分佈的組織結構,降低費用。使用資料庫的單位在組織上常常是分佈的(如分為部門、科室、車間等等),在地理上也是分佈的。分散式資料庫系統的結構符合部門分佈的組織結構,允許各個部門對自己常用的數據存儲在本地,在本地錄入、查詢、維護,實行局部控制。由於電腦資源靠近用戶,因而可以降低通信代價,提高響應速度,使這些部門使用資料庫更方便更經濟

  2、提高系統的可靠性和可用性。改善系統的可靠性和可用性是分散式資料庫的主要目標。將數據分佈於多個場地,並增加適當的冗餘度可以提供更好的可靠性。一些可靠性要求較高的系統,這一點尤其重要。因為一個地出了故障不會引起整個系統崩潰。因為故障場地的用戶可以通過其它場地進入系統。而其它場地的用戶可以由系統自動選擇存取路徑,避開故障場地,利用其它數據副本執行操作,不影響業務的正常運行。

  3、充分利用資料庫資源,提高現有集中式資料庫的利用率。當在一個大企業或大部門中已建成了若幹個資料庫之後,為了利用相互的資源,為了開發全局應用,就要研製分散式資料庫系統。這種情況可稱為自底向上的建立分散式系統。這種方法雖然也要對各現存的局部資料庫系統做某些改動、重構,但比起把這些資料庫集中起來重建一個集中式資料庫,則無論從經濟上還是從組織上考慮,分散式資料庫均是較好的選擇。

  4、逐步擴展處理能力和系統規模。當一個單位規模擴大要增加新的部門(如銀行系統增加新的分行,工廠增加新的科室、車間)時,分散式資料庫系統的結構為擴展系統的處理能力提供了較好的途徑:在分散式資料庫系統中增加一個新的結點。這樣做比在集中式系統中擴大系統規模要方便、靈活、經濟得多。

  在集中式系統中為了擴大規模常用的方法有兩種:一種是在開始設計時留有較大的餘地。這容易造成浪費,而且由於預測困難,設計結果仍可能不適應情況的變化。另一種方法是系統升級,這會影響現有應用的正常運行。並且當升級涉及不兼容的硬體或系統軟體有了重大修改而要相應地修改已開發的應用軟體時,升級的代價就十分昂貴而常常使得升級的方法不可行。分散式資料庫系統能方便地把一個新的結點納入系統,不影響現有系統的結構和系統的正常運行,提供了逐漸擴展系統能力的較好途徑,有時甚至是唯一的途徑。

分散式資料庫的優點

  1、具有靈活的體繫結構。

  2、適應分散式的管理和控制機構。 

  3、經濟性能優越。

  4、系統的可靠性高、可用性好。 

  5、局部應用的響應速度快。

  6、可擴展性好,易於集成現有系統。

分散式資料庫的缺點

  1、系統開銷大,主要花在通信部分。

  2、複雜的存取結構,原來在集中式系統中有效存取數據的技術,在分成式系統中都不再適用。

  3、數據的安全生和保密性較難處理。

參考文獻

  • 趙致格.《資料庫系統與應用》.清華大學出版社
  • 張晉連.《資料庫原理及應用》.電子工業出版社
本條目對我有幫助3
MBA智库APP

扫一扫,下载MBA智库APP

分享到:
  如果您認為本條目還有待完善,需要補充新內容或修改錯誤內容,請編輯條目

本条目由以下用户参与贡献

Tracy,刘维燎.

評論(共0條)

提示:評論內容為網友針對條目"分散式資料庫"展開的討論,與本站觀點立場無關。

發表評論請文明上網,理性發言並遵守有關規定。

MBA智库
打开APP

以上内容根据网友推荐自动排序生成