Azure 存储 - 处理跨分区更新

标签 azure azure-storage azure-table-storage

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

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

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

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

最佳答案

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

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

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

关于Azure 存储 - 处理跨分区更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33201239/

相关文章:

azure - Microsoft Graph Explorer 应用程序 - 权限问题

session - VIP 交换期间 Web 角色的共置缓存

c# - 返回 Azure TableEntity 对象列表时出现 SerializationException

azure - 如何检测 Azure 表存储中的新实体

azure - 谁能帮我解决这个错误

azure - Azure 表存储中的日期范围查询

c# - 无法查询行键设置为 GUID 的项目?

c# - Azure表存储查询分区键

c# - 设置 Azure 存储操作的超时

node.js - 在 Node.js 机器人服务中实现 Redis