2013-04-26 33 views
2

我的Azure Sql數據庫位於西歐,並且正在考慮在美國也有一個數據庫。在各州部署我的網站很容易,但是這個網站然後在歐洲查詢數據庫,這會延誤。使用Azure Sql(地理定位)擴展場景

人們在這些情況下做什麼?爲不同的用戶分開數據庫可能會工作,但如果通常在一臺服務器上的用戶路由到另一臺服務器,則其失敗,那麼他的數據不在數據庫中。是否有簡單的解決方案可以在兩個天青SQL服務器中提供相同的數據,並且Azure保持數據同步?同步時衝突如何?

回答

1

這實際上取決於您的要求以及如何實現路由。您可以設計分佈式應用程序,方式是用戶A在進行身份驗證時始終使用美國服務器。即使他/她目前在歐洲或亞洲。

如果要同步各處的所有內容,則會出現名爲「SQL Data Sync」的預覽功能。它可以在多個SQL Server實例(包括本地SQL Server安裝)之間同步數據。它在配置和同步選項方面非常靈活。但是,這又取決於應用需求。如果我正在構建分佈式系統,我不會跨大陸同步數據。將設計應用程序,以便用戶特定的數據只存在於一個數據中心中。這當然是不可能的,如果我的用戶訪問更多的數據,然後只是與他/她的個人資料相關。

最好的選擇是將用戶特定的數據保存在用戶指定的數據中心中,並同步所有位置的所有用戶都必須使用的數據。

+0

感謝您的意見。 SQL Data Sync非常容易設置,但花費了一些時間。我確實設置了每小時從一個數據中心同步到另一個數據中心,並同步每個數據中心。 (數據庫現在幾乎是空的)。有效。我同意,我不希望在部署情況下這樣做,並設計一個使用戶在一個數據中心中擁有其數據的解決方案,可以在將來始終爲該站點強制執行此操作。 – 2013-04-26 16:14:48

+0

與SQL數據同步不好的經驗。它失敗了,並沒有得到太多。再次禁用它。認爲正確的選擇是圍繞它來設計,就像你所建議的那樣。 – 2013-05-05 19:25:55