Short alphanumeric pseudo random identifiers in Postgres
a year ago
- #Database Design
- #Performance
- #Postgres
- 介绍在Postgres中生成短字母数字标识符作为UUID替代方案
- 对外使用public_id,内部数据库引用使用id
- 设计特性包括固定长度、混淆处理、可逆性及原生Postgres支持能力
- 局限性包括不支持大小写不敏感和排除相似字符
- PL/PgSQL函数实现混淆处理、base62转换及反混淆功能
- 表结构设计包含自动生成的public_id列及唯一性和长度约束
- 性能影响:带public_id生成的插入操作慢3.4倍
- 考虑过的替代方案:Base32 Crockford、ULID和NanoID