你使用什么作为数据库的 ID?

你使用什么作为数据库的 ID?

💡 原文中文,约2400字,阅读约需6分钟。
📝

内容提要

软件ID是计算机系统中的重要概念,用于标识数据实体和交互过程。好的ID生成方案应该是唯一、有序、可用、自主和安全的。常用的方案有数据库自增ID、UUID和Twitter雪花算法。较新的方案有UUID v678、ULID、Nano ID、KSUID、TSID和Cuid2。选择合适的方案取决于应用需求和负载。作者选择了ULID。

🎯

关键要点

  • 软件ID用于标识数据实体和交互过程,是计算机系统中的重要概念。
  • 好的ID生成方案应具备唯一性、有序性、可用性、自主性和安全性。
  • 常用的ID生成方案包括数据库自增ID、UUID和Twitter雪花算法。
  • Twitter雪花算法保证ID的唯一性和可排序性,适合分布式系统。
  • 较新的ID生成方案包括UUID v678、ULID、Nano ID、KSUID、TSID和Cuid2。
  • UUID v678兼容性强,v7和v8提供了更好的性能和自定义性。
  • ULID基于时间戳,具有全局唯一性和可读性,长度为26个字符。
  • Nano ID适合高并发环境,长度为21个字符,但不支持排序。
  • KSUID和TSID分别使用不同的编码方式,适合特定场景。
  • 选择合适的ID生成方案取决于应用需求和负载,作者选择了ULID。
➡️

继续阅读