1. 程式人生 > >分散式資料庫的併發控制方法

分散式資料庫的併發控制方法

一,分散式資料庫併發控制方法分類

1.基於特定副本的方法:

主副本的方法:每個資料物件設定唯一的一個主副本,一般設定在經常發生封鎖的場地,主副本所在的場地為該資料物件的主場地,不同資料物件擁有不同的主場地。對資料物件的加鎖由主副本所在的場地的LM(鎖管理器)管理。優點:降低了通訊;缺點:也降低了併發程度。

主場地的方法:儲存副本的某個場地為主場地,所有的封鎖請求都由主場地的LM來負責管理。所有封鎖請求傳到主場地,由主場地來決定是否請求成功或者等待。優點:較高的資料一致性。缺點:所有的封鎖請求都在主場地,容易造成系統瓶頸。主場地故障會使整個系統癱瘓。

後背場地的主場地方法:解決主場地故障問題,設定另一場地為主場地的備用場地。

2.基於投票的方法:

讀寫全方法:讀—寫全法指當事務對某一資料項加鎖時,若為讀鎖,只需封鎖其中一個副本,即只需向選中的副本所在場地傳送鎖申請報文;若為寫鎖,必須封鎖所有副本,即需要向所有存有該資料項的副本所在場地傳送鎖申請報文。因此,在寫鎖情況下通訊費用較大,為避免該不足,提出了多數法。

多數副本法:多數副本法是指在對資料項進行加鎖時,必須封鎖資料項一半以上的副本。無論讀鎖還是寫鎖申請,都要向n個副本中的至少(n+1)/2個副本所在場地發加鎖請求。申請成功後,若為讀鎖,讀取一個副本的值;若為寫鎖,需向n個副本傳送新值。