【问题标题】:Azure Storage - Handle cross partition updatesAzure 存储 - 处理跨分区更新
【发布时间】:2015-10-19 04:36:58
【问题描述】:

我对使用 Azure 表服务时的最佳实践有疑问。

想象一个名为“客户”的表。想象一下其他几个表,分成大量的分区。在这些表中,有 CustomerName 字段。

如果客户更改了他的名字...然后我更新客户表中的相应记录。与关系数据库相比,另一个表中的所有其他列(显然)都没有更新。

确保所有其他表也得到更新的最佳方法是什么?查询 CustomerName 上的所有表,然后更新所有这些记录,对我来说似乎效率极低。

【问题讨论】:

    标签: azure azure-storage azure-table-storage


    【解决方案1】:

    如果您在表中多次存储 CustomerName,这并没有什么神奇之处,您需要找到这些记录并更新它们的 CustomerName 字段。

    由于这是一种效率非常低的操作,您可以(并且应该)执行此“关闭事务”。这意味着,当您执行初始“名称更改”操作时,将项目推入队列并让工作人员执行“名称更改”。由于没有 Web 响应 / 用户焦急地等待工作人员完成它效率低得可笑的事实是无关紧要的。

    这是在分布式系统中实现最终一致性的主要设计模式。

    【讨论】:

    • 正是这种手动更改的要求才能使 Azure 表存储快速完成它的工作
    • “最终一致性”的概念听起来很有趣。感谢您的洞察力。
    猜你喜欢
    • 2013-09-17
    • 2013-02-10
    • 1970-01-01
    • 1970-01-01
    • 2018-12-17
    • 2010-09-05
    • 2016-08-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多