分散式資料庫管理系統 - 資料庫環境



在本教程的這一部分,我們將學習有助於設計分散式資料庫環境的不同方面。本章首先介紹分散式資料庫的型別。分散式資料庫可以分為同構和異構資料庫,並有進一步的劃分。本章的下一部分討論了分散式架構,即客戶端-伺服器、對等和多資料庫管理系統。最後,介紹了複製和碎片等不同的設計方案。

分散式資料庫的型別

分散式資料庫可以廣泛地分為同構和異構分散式資料庫環境,每個環境都有進一步的細分,如下所示。

Distributed Database Environments

同構分散式資料庫

在同構分散式資料庫中,所有站點都使用相同的資料庫管理系統和作業系統。其特性如下:

  • 站點使用非常相似的軟體。

  • 站點使用相同的資料庫管理系統或來自同一供應商的資料庫管理系統。

  • 每個站點都瞭解所有其他站點,並與其他站點合作處理使用者請求。

  • 資料庫透過單個介面訪問,就像它是一個單個數據庫一樣。

同構分散式資料庫的型別

同構分散式資料庫有兩種型別:

  • 自治型 - 每個資料庫都是獨立的,可以自行執行。它們由一個控制應用程式整合,並使用訊息傳遞來共享資料更新。

  • 非自治型 - 資料分佈在同構節點上,一箇中央或主資料庫管理系統協調跨站點的更新。

異構分散式資料庫

在異構分散式資料庫中,不同的站點具有不同的作業系統、資料庫管理系統產品和資料模型。其特性如下:

  • 不同的站點使用不同的模式和軟體。

  • 系統可能由各種資料庫管理系統組成,如關係型、網路型、層次型或面向物件型。

  • 由於模式不同,查詢處理很複雜。

  • 由於軟體不同,事務處理很複雜。

  • 一個站點可能不知道其他站點,因此在處理使用者請求時合作有限。

異構分散式資料庫的型別

  • 聯邦型 - 異構資料庫系統本質上是獨立的,並整合在一起,以便它們能夠作為一個單一的資料庫系統執行。

  • 非聯邦型 - 資料庫系統採用一箇中央協調模組,透過該模組訪問資料庫。

分散式資料庫管理系統架構

DDBMS 架構通常根據三個引數開發:

  • 分佈 - 它表示資料在不同站點上的物理分佈。

  • 自治 - 它表示資料庫系統的控制分佈以及每個組成資料庫管理系統能夠獨立執行的程度。

  • 異構性 - 它指的是資料模型、系統元件和資料庫的統一性或差異性。

架構模型

一些常見的架構模型包括:

  • DDBMS 的客戶端-伺服器架構
  • DDBMS 的對等架構
  • 多資料庫管理系統架構

DDBMS 的客戶端-伺服器架構

這是一種兩層架構,其中功能分為伺服器和客戶端。伺服器功能主要包括資料管理、查詢處理、最佳化和事務管理。客戶端功能主要包括使用者介面。但是,它們也具有一些功能,如一致性檢查和事務管理。

兩種不同的客戶端-伺服器架構是:

  • 單伺服器多客戶端
  • 多伺服器多客戶端(如下圖所示)
Server Architecture

DDBMS 的對等架構

在這些系統中,每個對等節點都充當客戶端和伺服器以提供資料庫服務。對等節點共享其資源與其他對等節點,並協調其活動。

此架構通常具有四級模式:

  • 全域性概念模式 - 描述資料的全域性邏輯檢視。

  • 本地概念模式 - 描述每個站點的邏輯資料組織。

  • 本地內部模式 - 描述每個站點的物理資料組織。

  • 外部模式 - 描述使用者對資料的檢視。

Peer- to-Peer Architecture

多資料庫管理系統架構

這是一個由兩個或多個自治資料庫系統組成的整合資料庫系統。

多資料庫管理系統可以透過六級模式表達:

  • 多資料庫檢視級 - 描述包含整合分散式資料庫子集的多個使用者檢視。

  • 多資料庫概念級 - 描述包含全域性邏輯多資料庫結構定義的整合多資料庫。

  • 多資料庫內部級 - 描述資料在不同站點和多資料庫到本地資料的對映之間的分佈。

  • 本地資料庫檢視級 - 描述本地資料的公共檢視。

  • 本地資料庫概念級 - 描述每個站點的本地資料組織。

  • 本地資料庫內部級 - 描述每個站點的物理資料組織。

多資料庫管理系統有兩個設計方案:

  • 帶有多資料庫概念級的模型。
  • 沒有多資料庫概念級的模型。
Multi-database Conceptual Level

 Without Multi-database Conceptual Level

設計方案

DDBMS 中表的分佈設計方案如下:

  • 非複製且非碎片化
  • 完全複製
  • 部分複製
  • 碎片化
  • 混合

非複製和非碎片化

在此設計方案中,不同的表放置在不同的站點。資料放置在靠近其使用最多的站點的位置。它最適合於查詢需要連線放置在不同站點上的表資訊的百分比較低的資料庫系統。如果採用適當的分佈策略,則此設計方案有助於降低資料處理期間的通訊成本。

完全複製

在此設計方案中,每個站點都儲存所有資料庫表的副本。由於每個站點都有整個資料庫的副本,因此查詢速度非常快,所需的通訊成本可以忽略不計。相反,資料的大量冗餘需要在更新操作期間付出巨大的成本。因此,這適用於需要處理大量查詢而資料庫更新數量較少的系統。

部分複製

表的副本或表的一部分儲存在不同的站點。表的分佈是根據訪問頻率進行的。這考慮了這樣一個事實,即訪問表的頻率在不同站點之間存在很大差異。表的副本(或部分)的數量取決於訪問查詢執行的頻率以及生成訪問查詢的站點。

碎片化

在此設計中,一個表被分成兩個或多個稱為片段或分割槽的塊,每個片段可以儲存在不同的站點。這考慮了這樣一個事實,即在給定站點很少需要儲存在表中的所有資料。此外,碎片化提高了並行性並提供了更好的災難恢復。在這裡,系統中每個片段只有一個副本,即沒有冗餘資料。

三種碎片化技術是:

  • 垂直碎片化
  • 水平碎片化
  • 混合碎片化

混合分佈

這是碎片化和部分複製的組合。在此,表最初以任何形式(水平或垂直)進行碎片化,然後根據訪問片段的頻率將這些片段部分複製到不同的站點。

廣告