1

我们想从 mysql 数据库迁移到 Yugabyte(PostgreSQL) 数据库。我们在 YugabyteDB 中为 mysql AUTO_INCREMENT () 找到了 2 个替代方案

  1. 串行
  2. 顺序

出于某种原因,我们不喜欢使用 UUID。在那种情况下,串行或顺序是否确保数据的唯一性?(我们有 6 个节点)

4

1 回答 1

3

实际上serial/bigserial在下面创建一个序列并使用它来生成唯一的 id。即使在分布式系统中,序列也会生成唯一值。

您还需要使用缓存来获得更好的性能,从而减少生成新值的 RPC 数量:https ://docs.yugabyte.com/latest/api/ysql/commands/ddl_create_sequence/#cache

唯一性由主键、唯一索引、约束在数据库端强制执行。在这种情况下,最好将 id 列作为主键。

因此,将BIGINT列与具有大缓存的序列一起使用,并将id主键设为主键。

于 2020-05-12T15:35:15.083 回答