SQL Azure(十) SQL Azure Data Sync數據同步功能(上)


  首先舉個簡單的例子:如果某個大型生產企業包含有2個子系統:

-  有一個《產品生產系統》放在企業內部部署,在企業內部辦公的員工(生產員工)都可以通過內網來訪問該系統。后台的數據庫是局域網內的SQL Server 2008 R2。

-  另外有一個《產品庫存系統》放在Windows Azure平台上運行。在企業外部的員工,比如銷售人員可以通過手機、平板電腦等快速訪問,查看庫存狀況以便及時進行銷售行為。后台的數據庫采用的是微軟的SQL Azure雲端數據庫。

  那這樣就會出現一個問題:如何讓SQL Server Database的數據庫與SQL Azure雲端數據庫保持一致性,方便生產人員和銷售人員協同的工作?

  SQL Azure Data Sync就能實現這一功能。它的核心是以Sync Framwork為技術,能夠進行 "雲數據庫--雲數據庫(Cloud to Cloud)"和"雲數據庫--本地數據庫(Cloud to Local)"的同步。

-  如果要實現Cloud to Cloud的功能,必須創建兩個不同的SQL Azure Database

-  如果要實現Cloud to Local,必須創建一個SQL Azure DB;本地使用SQL Server DB。

  Data Sync使用過了一個叫"數據中心(Hub Database)"的概念,通過Hub Database的整合,讓不同數據庫(on premise DB and on cloud DB)的同步能夠更加順暢。這個Hub Database是位於微軟的數據中心內的。

  看到這里,可能有些網友會提問:為什么我們要使用Hub Database呢?其實這個Hub Database起到了一個仲裁的作用。我們還是舉之前工廠生產的例子:如果因為工廠停電的原因,產品的庫存為0,銷售人員就不能進行正常的銷售。在恢復電力供應的情況下,從流水線上又生產出新一批的產品,總數為1000個,員工在本地SQL Server 2008 R2中將庫存數量改為1000;但這是SQL Azure的庫存狀態為0(沒錯,因為沒人去修改它)。 Hub Database這時候會自動在后台運行,分別查詢Local DB和Cloud DB,發現庫存狀態的值不同。根據Hub Database的策略(可自定義),我們可以設置以Local DB為准,這時候Hub DB會將1000這個值寫到Cloud DB同樣的表所對應的值里面。這樣就讓Local DB和Hub DB同步了。

  顯而易見,SQL Azure Data Sync為您和您的企業提供了很多好處:

  • 無需編寫代碼就可創建各種復雜的同步。
    •   Microsoft SQL Azure Data Sync支持一個數據中心或地理位置分散的多個數據中心的多個數據庫的同步組。每個同步組都可根據您的業務需求進行定制,從而減少開支。
  • 無需創建和管理您自己的雲便可利用Microsoft Windows Azure平台和Microsoft SQL Azure
    •   讓Microsoft 處理所有基礎結構、安全性和縮放問題,您只需專心管理業務即可。 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM