【问题标题】:Syncing multiple Azure tables / containers in C# - whats the best practice?在 C# 中同步多个 Azure 表/容器 - 最佳实践是什么?
【发布时间】:2013-10-04 00:19:11
【问题描述】:

我有一个 Azure 存储拓扑,其中包含多个镜像节点,但可以有不同的数据,具体取决于哪个区域中的哪个用户正在使用哪个容器节点。

我的要求是将 3 个节点表同步到一个主节点表中。例如,如果表是用户,则三个节点(节点 A、节点 B、节点 C)将使用三个节点的联合结果填充主用户表,忽略重复并删除不再引用的行。

“大锤”方法(如果我在 SQL 中执行此操作)将是从主表中获取用户列表,即 3 个节点列表,将节点组合成一个新集合,将该集合与主集合并执行数据的合并/联合,最后将新合并和截断的集合推送到该主节点。

我的问题是:

  1. 是否有内置的 Azure 方式来执行此操作?
  2. 如前所述,在 C# 中执行此操作是否是一种好习惯?
  3. 可能会出现哪些类型的问题/风险,应考虑哪些因素?
  4. 您能否提出一个更好的解决方案来解决这个问题?久经考验的东西(可能是一种设计模式?)
  5. 您能否提供一个在 C# 中执行此操作的代码示例?

我假设如果 azure 没有机制来帮助支持此功能,则可以将 azure 排除在外,这将成为纯 C# 列表操作问题。

非常感谢。

【问题讨论】:

    标签: c# sql azure azure-storage


    【解决方案1】:

    1) 不,但在幕后,Microsoft 确实对您的天蓝色表进行了地理复制/本地复制最多 5 次(总共 6 个副本)..他们可能会为此发布一个明确的 API 2)取决于您的数据大小/工作频率...请记住,您会收取每笔交易的费用..如果您开始每 4 小时处理数十亿行,那么这将开始花费大量资金 3)我会以工人角色执行此操作,因此数据不必离开 MS 数据中心,这将提高性能。在工作者角色中,它也可以被“安排”以特定的时间间隔运行

    Azure 表存储并不是一个很好的解决方案。在数据库之间的 SQL 数据库中提供跨持久存储的同步。虽然,提取数据并以原子方式处理所有这些操作并不是 Azure 特有的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-16
      • 1970-01-01
      • 2016-09-03
      • 1970-01-01
      • 2011-06-07
      相关资源
      最近更新 更多