1

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

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

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

我的问题是:

  1. 是否有内置的 Azure 方式来执行此操作?
  2. 像我上面描述的那样在 C# 中这样做是一个好习惯吗?
  3. 可能会出现哪些类型的问题/风险,应考虑哪些因素?
  4. 你能提出一个更好的解决这个问题的方法吗?一些尝试和真实的东西(可能是一种设计模式?)
  5. 您能否提供在 C# 中执行此操作的代码示例?

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

非常感谢。

4

1 回答 1

1

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

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

于 2013-10-04T02:14:31.450 回答