探析多DM3數據庫體系及其互聯機制的策略

學識都 人氣:1.01W

摘要:隨着經濟的發展,企業的規模越來越大,其積累的信息也越來越多。存在着各部門所處理的信息多數只對本部門有效,僅有少數信息需給其它某些部門共享的問題。這種信息的分佈性和獨立性要求對所處理的數據進行分類,使各部門既能獨立地處理本部門大多數數據,也使部門間能協調處理跨部門的事務。在這種情況下,對整個企業建立一個完全的緊密耦合的分佈式數據庫是很困難的,也是沒必要的,特別是大型企業,這樣的數據庫的效率往往是很低的。爲解決這個問題,我們採用以下策略:每個部門使用一套緊密耦合的數據庫系統,而在存在跨部門事務處理的數據庫系統間用一個協調器聯起來。這樣就組成了一個橫跨整個企業,各部門高度自治的聯邦數據庫系統。本文主要介紹多DM3數據庫系統間的信息共享機制。

探析多DM3數據庫體系及其互聯機制的策略


關鍵詞:DM3數據庫;互聯機制;設計
  
  多數據庫系統是分佈式數據庫系統的一個重要分支,是一個新興的數據庫研究領域。隨着企業規模的不斷擴大,各部門所需信息既相互交錯,又相對獨立。這就要求各部門所用的數據庫既能高度自治地工作,又能進行信息共享。
  DM2是採用客戶/服務器模型,客戶機與服務器,服務器與服務器均通過網絡互連,通過消息相互通訊,組成一個緊密耦合的分佈式數據庫系統。它的工作流程如下:客戶機登錄到一臺服務器上,這臺服務器便成爲它的代理服務器;它接收來自客戶機的消息,然後根據全局數據字典決定是自己獨立完成該操作,還是與其它服務器協作處理這條消息,處理完成之後,再由代理服務器將處理結果返回給客戶機。由於DM2上各個服務器站點的全局字典完全相同,任何全局表的信息都會記入全局字典。若用它來構建一個企業的數據庫系統,則大量只對企業某部門有用的信息將會充斥在各部門所有服務器的全局字典中,增加了冗餘。而且,當對全局表進行DDL操作時,爲了確保全局字典的一致性,須對所有服務器的全局字典進行加鎖。DM2對全局字典的封鎖方式是採用令牌環方式,即令牌繞虛環(非實環)傳輸,某個服務器想對全局字典進行操作,必須等令牌到達該服務器纔可以執行。每個部門建立的全局表絕大多數只對本部門有用,當對這些表進行DDL操作時,卻要對所有服務器的全局字典進行封鎖,通過令牌來實現對全局字典的互斥訪問。這嚴重損害了數據庫的效率。
  爲彌補以上不足,在DM2的改進版本DM3中增加了協調器,用以聯接各個獨立的DM3數據庫子系統,並協調各子系統間的各種關係,使各子系統既能高度自治地工作,又能進行有效的信息共享。
  一、多數據庫體系結構
  本系統可看作多個數據庫子系統被協調器聯起來的,高度自治的一個聯邦數據庫系統。其中,每個子系統獨立處理本系統內部的事務,而子系統間的信息共享由複製技術提供,副本間的一致性由協調器協調處理,處理所需的信息在初始化時寫入協調器的組間數據字典中。當對某子系統中的一份數據副本進行修改時,該子系統會將修改通知協調器,由協調器對該數據的其它副本進行修改,從而保證了所有副本的一致性。
  由以上可知,子系統彼此並不直接接觸,而是各自都與協調器直接相聯,由協調器統一管理子系統間的通信。這樣,當子系統對副本進行修改時,不必關心相應的子系統處於何種狀態,也不必等待迴應消息,以及異常處理,所有這些都由協調器進行管理。因此,既提高了系統運行的效率,也保證了子系統的獨立性。
  協調器主要有三大功能,首先,它對協調器和服務器進行初始化,並將有關信息存入組間字典;其次,它管理不同子系統間的通信,維護副本的一致性;最後,它在子系統出現崩潰時,進行異常管理及恢復工作。
  二、多數據庫互聯機制的主要策略
  多個DM3系統間的信息共享是通過副本實現的,副本的一致性是由協調器來維持的,是一種弱一致性。通常,多數據庫系統間的一致性是通過協調器週期性地訪問服務器的日誌來完成的。由於副本的更新帶有隨機性,因此,若採用這種方法,可能數據被修改多次,但其相對應的副本仍未被修改,這樣就損害了數據的一致性;也可能數據並未被修改,但協調器已多次訪問了服務器的日誌了,這樣就降低了系統的.效率。