Acest proiect este o implementare a standardului ULID în limbajul de programare Go. Oferă instrumente pentru generarea de identificatori unici universal, sortabili lexicografic, care combină timestamp-uri în milisecunde cu date aleatorii.
Principalele funcționalități ale oklog/ulid sunt: ULID Implementations, Lexicographical Sorting, Monotonic Identifier Generation, Unique Identifier Generators, Entropy-Based Collision Prevention, Millisecond Clock Sequences, Distributed Primary Key Generation, Crockford Base32 Encodings.
Alternativele open-source pentru oklog/ulid includ: rs/xid — xid is a distributed unique identifier library designed to generate compact, globally unique, and k-sortable… segmentio/ksuid — ksuid is a Go implementation of k-sortable unique identifiers. It provides a system for generating globally unique… twitter-archive/snowflake — Snowflake is a distributed unique ID generation service designed to produce non-colliding, time-ordered identification… sony/sonyflake — Sonyflake is a distributed unique ID library that creates collision-free, chronologically ordered identifiers across… ulid/spec — This project provides the official specification for ULIDs, which are 128-bit identifiers that combine a… apple/foundationdb — FoundationDB is an ACID-compliant distributed transactional key-value store. It functions as a scalable database…
xid is a distributed unique identifier library designed to generate compact, globally unique, and k-sortable identifiers. It functions as a stateless generator that creates identifiers without requiring a central coordinator or network synchronization between instances. The project converts binary identifiers into human-readable, case-insensitive Base32 strings, making the output suitable for use in URLs and web applications. It ensures uniqueness across different processes and hosts by combining high-resolution timestamps with machine identifiers. These identifiers are designed for use as d
ksuid is a Go implementation of k-sortable unique identifiers. It provides a system for generating globally unique identifiers that maintain a natural chronological order based on their generation timestamp. The project enables the creation of unique keys across distributed systems without a central coordinator. These identifiers are designed for use as database primary keys to maintain index performance and insert efficiency. The library includes capabilities for identifier serialization and parsing, allowing conversion between binary, text, and SQL formats. It also provides command-line to
Snowflake is a distributed unique ID generation service designed to produce non-colliding, time-ordered identification numbers at high scale. It functions as a scalable ID issuer that creates distinct entity identifiers across multiple server nodes to avoid coordination bottlenecks. The system utilizes stateless identifier coordination, calculating unique IDs through a deterministic mathematical formula rather than relying on a central database to track the last issued number. This approach allows it to generate identifiers for distributed database primary keys and high-scale transaction trac
Sonyflake is a distributed unique ID library that creates collision-free, chronologically ordered identifiers across multiple machines. It functions as a time-based generator that encodes timestamps into IDs, ensuring that identifiers are monotonically sorted. The system operates without a central coordinating authority, producing unique IDs across distributed nodes without requiring shared state communication or central locks. It prevents collisions between different nodes by incorporating host-aware machine identifiers, which are resolved using private network addresses or cloud instance me