fluuid: Faster than Light UUID Generation for PostgreSQL
Installation
Usage
Benchmark
Implementation
The project is based on pgx, a framework for developing PostgreSQL extensions in Rust that strives to be as idiomatic and safe as possible.
UUID generation is powered by the uuid crate.
UUID v6
Universally Unique Identifiers are useful in many scenarios. And RFC 4122 describes 5 versions, indicated for use in various cases.
This document describes a proposed sixth version which in the author's opinion addresses a relatively minor but nonetheless significant shortcoming in the UUID specification, specifically when compared to the Version 1 UUIDs from the RFC.
IETF draft proposal has been created, and hopefully will become a standard way to generate lexicographically sortable UUIDs (GitHub repository).
In the meanwhile, this library implements UUID v6 for PostgreSQL.
Alternatives to UUID v6:
- ulid (Universally Unique Lexicographically Sortable Identifier)
- fuuid (Functional Universally Unique IDentifier)
- Elasticflake
- Firebase push IDs
- Cassandra TimeUUID
- KSUID k-sortable unique identifiers
- Sharding & IDs at Instagram
https://blog.twitter.com/engineering/en_us/a/2010/announcing-snowflake.htmlthe initial release is retired by Twitter, next version is in the works