🆔 YAID
Yet Another ID
Features
🔸 Only 8 bytes long
🔸 Includes a centisecond timestamp
🔸 Integrated int8
shard id
🔸 Rendered as 13 character Base32 strings
🔸 SDKs for python, javascript and go
Comparison
Specifications
Version 0.1
Layout
Bits | Bytes | Content |
---|---|---|
0 - 39 | 5 | Timestamp |
40 - 55 | 2 | Differentiator |
56 - 63 | 1 | Meta |
Timestamp
Big-endian 40 bit integer.
Represents the time passed since January 1, 1970 12:00:00 AM UTC
in
hundredths of a second.
The timestamp will roll over on June 4, 2318 6:57:57.760 AM UTC
.
Differentiator
16 bits that are used to make the id unique within a given timestamp. A random value or a counter could for example be used.
Meta
8 bit value that contains information about the id itself. A database shard number for example.