衝突解決方案概念和體系結構——高階複製

yangtingkun發表於2010-06-18

文件在這一章介紹了衝突解決方案的概念。

 

 

無論是多主複製環境還是可更新物化檢視複製環境,只要有兩個以上的站點存在同時的寫操作,就可能導致資料的不一致,為了保證各個站點上的資料統一性,就必須設定衝突解決方案。

其中多主複製每個主站點都會在出現資料衝突時根據預設的衝突解決方案來解決資料的衝突。而物化檢視複製環境只在主站點和可更新的主物化檢視站點執行衝突解決方案。

根據衝突的型別不同,可以分為更新衝突、唯一衝突和刪除衝突。

更新衝突指的是兩個或更多站點在幾乎同時(多主複製是在兩個主站點將修改推到對方之前,而物化檢視複製則是在物化檢視重新整理之前)修改了同一條記錄。Oracle預設了LAST TIMESTAMPOVERWRITEADDITIVEAVERAGEDISCARDEARLIEST TIMESTAMPMAXIMUMMINIMUMPRIORITY GROUPSITE PRIORITY多種衝突解決方案。其中LAST TIMESTAMPADDITIVE可以保證在多主環境中資料的統一性。而MAXIMUMMINIMUMPRIORITY GROUP都是在滿足一定條件下可以保證多主環境中資料統一性。其他的方法用在多主環境中很可能會造成各個站點在進行衝突解決後資料不一致,因此更適合作為物化檢視複製環境的衝突解決方案,或者第二衝突解決方案。在所有衝突解決方案中,最常使用的是LAST TIMESTAMP加上SITE PRIORITY作為後備衝突解決方案,因為兩個站點的時間戳可能出現重複。

唯一衝突是指兩個或更多站點在幾乎同時(多主複製是在兩個主站點將修改推到對方之前,而物化檢視複製則是在物化檢視重新整理之前)插入或更新的資料的唯一鍵值相同。Oracle提供了APPEND SITE NAMEAPPEND SEQUENCEDISCARD三種衝突解決方案,其實大部分唯一衝突都可以從設計層面避免。

刪除衝突指的是兩個或更多站點在幾乎同時(多主複製是在兩個主站點將修改推到對方之前,而物化檢視複製則是在物化檢視重新整理之前)刪除同一行記錄,或者一個站點刪除記錄,而另一個站點對資料進行了更新。Oracle並沒有提供解決刪除衝突的解決方案,對於刪除衝突可以透過避免DELETE語句,或者使用者自己提供的衝突方案來解決。

 

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4227/viewspace-665656/,如需轉載,請註明出處,否則將追究法律責任。

相關文章