SaaSHub helps you find the best software and product alternatives Learn more →
Spec Alternatives
Similar projects and alternatives to spec
-
-
InfluxDB
InfluxDB – Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
-
-
activepieces
AI Agents & MCPs & AI Workflow Automation • (280+ MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
-
automatisch
The open source Zapier alternative. Build workflow automation without spending time and money.
-
-
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
-
cuid2
Next generation guids. Secure, collision-resistant ids optimized for horizontal scaling and performance.
-
-
-
-
-
-
-
-
-
-
-
shortuuid.rb
Convert UUIDs & numbers into space efficient and URL-safe Base62 strings, or any other alphabet.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
spec discussion
spec reviews and mentions
-
🔍 ULIDs: A Modern Identifier for Distributed Systems
In software development, identifiers are the backbone of data storage, retrieval, and system coordination. Whether you’re building a database, API, or distributed system, your choice of identifier scheme impacts performance, scalability, and reliability. Traditional options like auto-incrementing integers and UUIDs (Universally Unique Identifiers) have long dominated, but each comes with trade-offs. ULIDs (Universally Unique Lexicographically Sortable Identifiers) offer a modern alternative that combines the strengths of both approaches while avoiding their weaknesses. This article explains why ULIDs are gaining traction in distributed systems and how they solve real-world problems.
-
Postgres UUIDv7 and per-back end monotonicity
My org has been using ULID[0] extensively for a few years, and generally we've been quite happy with it. After initially dabbing with a few implementations, I reimplemented the spec in Kotlin, and this has been working out quite well for us. We will open-source our implementation in the following weeks.
ULID does specifically require generated IDs to be monotonically increasing as opposed to what the RFC for UUIDv7 states, which is a big deal IMHO.
[0]: https://github.com/ulid/spec
-
UUID 🪪 or Auto Increment Integer / Serial ⚙️ as the Database Primary Key?
Bespoke solutions are invented to address the limitation of UUID including Snowflake ID, ulid, cuid. IETF also published a draft in April 2021 to propose a new UUID format. And in May 2024, IETF finally approved the draft. The approved UUIDv7 format:
- ULID: Like UUID but Sortable
-
The UX of UUIDs
Can use ULID to "fix" some issues
https://github.com/ulid/spec
- Ulid: Universally Unique Lexicographically Sortable Identifier
-
Ask HN: Is it acceptable to use a date as a primary key for a table in Postgres?
Both ULID and UUID v7 have a time code component which can be extracted.
It would be best for indexing to store the actual value in binary, though not strictly necessary as these later UUID standards (unlike conventional UUIDs) use time code prefixes (so indexing clusters.)
https://uuid7.com/
https://github.com/ulid/spec
- Bye Sequence, Hello UUIDv7
-
50 years later, is Two-Phase Locking the best we can do?
I'd love for Postgres to adopt ULID as a first class variant of the same basic 128bit wide binary optimized column type they use for UUIDs, but I don't expect they will, while its "popular" its not likely popular enough to have support for them to maintain it in the long run... Also the smart money ahead of time would have been for the ULID spec to sacrifice a few data bits to leave the version specifying sections of the bit field layout unused in the ULID binary spec (https://github.com/ulid/spec#binary-layout-and-byte-order) for the sake of future compatibility with "proper" UUIDs... Performing one big bulk bitfield modification to a PostgreSQL column would have been much less painful than re-computing appropriate UUIDv7 (or UUIDv8s for some reason) and then having to perform a primary key update on every row in the table.
- FLaNK Stack Weekly for 12 September 2023
-
A note from our sponsor - SaaSHub
www.saashub.com | 18 May 2025
Stats
ulid/spec is an open source project licensed under GNU General Public License v3.0 only which is an OSI approved license.