唯一性标识的矛盾

唯一性标识 (Identity) 的缩写有「ID/Id/id/I.D.」目的是在一定的范围内,标识一个对象的唯一性。

唯一性标识的生成方法众多,典型的有

  • 算法生成类
    • 数据库的自动生成,例如MySQL的Auto Increment自增特性
    • 分布式的生成算法,例如Twitter的64bit自增 SnowFlake2010
    • 128bit长的 UUID
    • 基于具体场景,设计相关算法,在使用时自动生成
  • 人工输入类
    • 纯字母
    • 字母数字组合

唯一性标识的生成结果有两种

  • 可转换为全数字,例如SnowFlake
  • 16进制字符,例如UUID

唯一性标识的可用性评价维度

  • 隐私保护
  • 整体可用容量
  • 单位时间可用量
  • 首次生成简便性
  • 后期录入简便性
  • 后期迁移简便性
  • 人工阅读可预判性
  • 分库分表可路由性

一些具体的潜在的易用性维度

  • 最好能够反映一些和具体使用场景有关的信息,例如身份证的前14位。
  • 尽可能的短
  • 简便的键盘输入,比如纯数字或纯小写字母