Google Cloud Blog 中文 关注 Spanner:移除 DML 事务的累积变异限制 Google Cloud Spanner 是一款全局一致的关系型数据库,现已针对更大规模、更复杂的操作更新了事务处理机制。此前,Spanner 将事务中的总修改量限制为 80,000 个"mutation mods"。该限制的计算方式为:行数乘以列数再加上索引数量,随着应用的演进,这一限制可能很快被触及。新的灵活性将原本适用于整个事务的 80,000 个 mutation mods 限制,调整为适用于每个数据操作语言(DML)语句。这意味着单个事务现在可以包含多个 DML 语句,只要每个语句各自遵守其 80,000 个 mutation mods 的限制。这使得开发人员能够根据业务需求逻辑地分组 DML 语句,而无需进行人为拆分。该变更与现有的 Spanner 客户端库向后兼容,无需更新应用程序代码。然而,开发人员应注意,更大的事务会持有锁的时间更长,可能导致中止(abort)增加。80,000 个 mutation mods 的限制适用于每个 DML 语句,但仍适用于通过 Mutation API 在单个提交调用中包含的所有修改。开发人员可以通过 CommitStats 中的 mutation_count 监控总修改量。单个 DML 语句超过 80,000 个 mutation mods 仍会报错,其他事务限制(如字节大小)依然生效。最佳实践包括监控 CommitStats 并优化大型操作。Spanner 依然是可扩展、始终在线的运营型应用的可信选择,如今为开发人员提供了增强的灵活性。 Spanner: Removing cumulative mutation limits for DML transactions cloud.google.com Google Cloud Blog 中文 RSS thenote.app
CommitStats中的mutation_count监控总修改量。单个 DML 语句超过 80,000 个 mutation mods 仍会报错,其他事务限制(如字节大小)依然生效。最佳实践包括监控CommitStats并优化大型操作。Spanner 依然是可扩展、始终在线的运营型应用的可信选择,如今为开发人员提供了增强的灵活性。