在 C# 中同步多个 Azure 表/容器 - 最佳做法是什么

本文关键字:容器 最佳 是什么 同步 Azure | 更新日期: 2023-09-27 18:33:45

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

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

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

我的问题是:

  1. 是否有内置的 Azure 方法可以执行此操作?
  2. 如我上面所述,在 C# 中执行此操作是否是一种好做法?
  3. 可能发生哪些类型的问题/风险,应考虑哪些因素?
  4. 你能为这个问题提出一个更好的解决方案吗?一些久经考验的真实的东西(也许是一种设计模式?(
  5. 你能提供一个在 C# 中执行此操作的代码示例吗?

我假设如果 azure 没有帮助支持此功能的机制,那么 azure 可以从组合中取出,这变成了一个纯粹的 C# 列表操作问题。

多谢。

在 C# 中同步多个 Azure 表/容器 - 最佳做法是什么

> 1( 否,但在幕后,Microsoft最多 5 次异地复制/本地复制 Azure 表(总共 6 个副本(。他们可能会为此发布一个明确的 API2(取决于数据的大小/工作的频率...请记住,您按/交易收取费用。如果您开始每 4 小时执行数十亿行,那么这将开始花费大量资金3(我会在辅助角色上执行此操作,因此数据不必离开MS数据中心,这将提高性能。 在辅助角色中,还可以将其"计划"为按特定间隔运行

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