标识列与用于向上扩展的 GUID
Indentity Column vs GUID for Scaling Up
我正在为 Azure 云设计一个 SQL 数据库,我想知道如何将 IDENTITY 与 GUID 列用于主键,尤其是在扩展数据库时。我已经了解它们之间的大小、性能和集群差异,但我担心如果我们扩展或异地复制数据库,IDENTITY 列会发生什么情况?如果我们需要扩展,使用 IDENTITY 列最终会以糟糕的方式赶上我们吗?
我尝试在 SQL Azure 中在线搜索与此相关的最佳实践,但我找到的所有文档似乎都来自 2010 年或 2012 年。
在此先感谢您的帮助!
您只需要在写入对同一数据集进行操作的多个不同主数据库时才需要担心。例如,如果您对数据库进行分片,可能就是这种情况。每当您只有一个要写入的数据库时,应该没有问题。
地理复制不是问题,因为辅助节点(如果可以访问)是只读的,并且 ID 仅在主节点上生成。 IDENTITY 将在故障转移后正常工作。
我正在为 Azure 云设计一个 SQL 数据库,我想知道如何将 IDENTITY 与 GUID 列用于主键,尤其是在扩展数据库时。我已经了解它们之间的大小、性能和集群差异,但我担心如果我们扩展或异地复制数据库,IDENTITY 列会发生什么情况?如果我们需要扩展,使用 IDENTITY 列最终会以糟糕的方式赶上我们吗?
我尝试在 SQL Azure 中在线搜索与此相关的最佳实践,但我找到的所有文档似乎都来自 2010 年或 2012 年。
在此先感谢您的帮助!
您只需要在写入对同一数据集进行操作的多个不同主数据库时才需要担心。例如,如果您对数据库进行分片,可能就是这种情况。每当您只有一个要写入的数据库时,应该没有问题。
地理复制不是问题,因为辅助节点(如果可以访问)是只读的,并且 ID 仅在主节点上生成。 IDENTITY 将在故障转移后正常工作。