如何支持數據庫雙向同步

  數據庫同步最典型的應用是異地容災、負擔主庫查詢統計,這一般是1對1的應用,但是多維同步的需求有時也會浮出水面,這方面的需求一般來說更有實際應用價值,大致分爲以下幾種:


      1、N->1型:這種需求主要是應用於分部將生產數據上傳到總部,可以讓總部實時瞭解生產調撥情況以及各分部計劃完成情況來進行集中分析使用當然同步的前提是各分部業務數據同步的表必須是獨立的,或者數據的主鍵是不衝突的,這樣多組日誌在執行的時候就不會出現內部干擾的情況,此種方式必須從應用上進行隔離,保證數據的獨立性。
      2、1->N型:這種需求是第一種情況的逆過程,主要是應用於總部將通知發佈到各分部的應用。目的是一些重要的通知,報表數據,當業務數據沒有實現大集中情況下需要分發到分部,當然,這種需求一般會要求同步軟件能夠配置哪些表或者哪些字段的數據需要定向同步到哪個備庫,這就需要同步軟件需要具備進行表過濾或者字段過濾功能。


      3、N<->N型:這種情況應用不多,但是特點是網絡結構複雜,還需要應用上的配合。一個簡單的例子就是跨國企業多國聯合生產系統。比如A國是總部,B國是分部1,C國是分部2,D國是分部3。當一個生產計劃從總部下發到BCD分部時,各分部就得到了生產數據,同時根據總計劃制定各自的生產計劃,之後每個分部可以針對自身獨立的部分進行生產,同時每個分部會把各自計劃完成的情況實時傳到總部,之後由總部進行區分,比如把CD產生的生產數據同步到B,把BC產生的生產數據同步到D,把BD產生的數據同步到C,這樣就完成一個生產計劃的分佈控制,同時各分部可以根據相臨分部生產計劃的執行情況對自己的生產任務進行調整。

      可以說N<->N模式是目前最複雜的一種應用,不止要從應用系統上保持同步數據的一致和無衝突性,還要保證數據能夠在多向傳輸中的所有斷點記錄,並且在實際應用過程中還會有根據用戶、字段、表進行過濾和轉化的一系列需求,甚至還會涉及到各國字符編碼的轉換問題。

      但是無論如何,再複雜的應用也必須建立在數據庫同步技術基礎上,只有依靠同步技術,再通過應用系統的配合(主要是數據主鍵衝突),並且充分利用同步日誌中的相關要素(日期、表、OWNER、字段)來進行個性化配置,才能完成一個多到多的同步應用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章