簡體   English   中英

在C#中同步多個Azure表/容器-最佳實踐是什么?

[英]Syncing multiple Azure tables / containers in C# - whats the best practice?

我有一個具有多個已鏡像節點的Azure存儲拓撲,但是可以具有不同的數據,具體取決於哪個區域中的哪個用戶正在使用哪個容器節點。

我的要求是將3個節點表同步到一個主節點表中。 例如,如果表是用戶,則三個節點(節點A,節點B,節點C)將使用三個節點的並集結果填充主用戶表,而忽略重復項並刪除不再引用的行。

“大錘子”方法(如果我在SQL中這樣做的話)是從主表中獲取用戶列表,3個節點列表,將節點組合成一個新集合,將該集合與主集合進行比較,然后執行數據的合並/聯合,最后將新的合並和截斷的集合推送到該主節點。

我的問題是:

  1. 有內置的Azure方法嗎?
  2. 如我上面所述,在C#中這樣做會是一個好習慣嗎?
  3. 會發生什么類型的問題/風險,應該考慮什么?
  4. 您能為這個問題提出更好的解決方案嗎? 嘗試過的東西和真實的東西(也許是設計模式?)
  5. 您可以在C#中提供執行此操作的代碼示例嗎?

我假設如果azure沒有機制來支持該功能,那么可以將azure排除在外,這將成為純C#List Manipulation問題。

非常感謝。

1)否,但是在后台Microsoft會進行地理復制/本地復制Azure表格最多5次(總共6份)。它們可能為此發布一個顯式的API 2)取決於數據/頻率的大小的工作...請記住,您每筆交易會收取費用。.如果您開始每隔4個小時進行數十億行的操作,那么這將開始花費大量金錢3)我會在工作者角色上執行此操作,因此數據確實不必離開MS數據中心,這將提高性能。 在工作者角色中,也可以“計划”在特定時間間隔運行

Azure Table Storage並不是一個很好的解決方案。 在數據庫之間的SQL數據庫中提供了跨持久存儲的同步。 同時,提取數據並以原子方式處理所有這些操作不是Azure特定的問題,這一點很重要。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM