【问题标题】:Can CockroachDB primary keys fall out of sync?CockroachDB 主键会不同步吗?
【发布时间】:2017-04-11 19:29:43
【问题描述】:

我知道在 PostgreSQL 中,如果您使用自动生成的主键,它们可能会不同步(这会阻止您插入新行,因为自动生成的 ID 已经存在于主键中)。

这是 CockroachDB 中的问题吗?我想这可能是因为它是分布式的,并且没有简单的方法来检查主键中使用的现有值。

【问题讨论】:

    标签: cockroachdb


    【解决方案1】:

    幸运的是,CockroachDB 自动生成的主键(称为SERIAL)没有遇到这个问题。它通过使用时间戳和执行插入的节点的 ID 生成一个整数来实现这一点。除了极端情况外,这种组合可能是全球唯一的。

    因为此值是唯一的(极少数情况除外),您不必担心插入会因为自动生成的主键而被拒绝。它也不会卡住,因为每次尝试都会生成一个新值。

    附注:在分布式系统中生成SERIAL 值的执行速度也比AUTO INCREMENT 之类的更快,因为它不需要节点相互协调。

    【讨论】:

      猜你喜欢
      • 2012-12-08
      • 2017-12-18
      • 2012-10-14
      • 2011-08-29
      • 1970-01-01
      • 2022-01-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多