awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
twitter-archive avatar

twitter-archive/snowflakeArchived

0
View on GitHub↗
7,775 stars·1,117 forks·Scala·18 viewstwitter.com↗

Snowflake

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 tracking without a central bottleneck.

The service ensures uniqueness and chronological ordering by combining millisecond timestamps, unique worker identifiers, and sequence counters into a single bit-packed integer.

Features

  • Snowflake ID Generators - Implements the Snowflake algorithm to produce time-ordered unique IDs from timestamps, worker IDs, and sequences.
  • Unique Identifier Generators - Creates globally unique identification numbers to distinguish entities across a distributed network of services.
  • Distributed Identifier Generators - Generates unique primary keys across distributed nodes without requiring a central database to track the last issued ID.
  • Distributed Primary Key Generation - Generates non-repeating, time-ordered identifiers to serve as primary keys for records in distributed databases.
  • Deterministic ID Generation - Generates unique identifiers using a deterministic mathematical formula, eliminating the need for a central state database.
  • Snowflake ID Compositions - Calculates unique IDs by composing an epoch timestamp, worker ID, and sequence counter.
  • Distributed ID Generators - Provides a service for creating globally unique identification numbers across multiple servers to avoid collisions.
  • High-Throughput ID Generators - Delivers unique IDs at high throughput across multiple server nodes without central coordination bottlenecks.
  • Chronological ID Sequencing - Arranges identifiers chronologically by placing the timestamp in the most significant bits of the integer.
  • Worker Identity Assignments - Assigns unique worker identities to nodes at startup to prevent ID collisions across the distributed network.
  • High-Scale Event Identifiers - Produces a steady stream of unique identifiers to track individual events or transactions across a large application.
  • Epoch-Based Time Representations - Uses a custom epoch starting date to maximize the number of available bits for the timestamp component.
  • ZooKeeper Worker Assignments - Assigns unique worker identifiers to individual nodes to ensure no two machines produce the same ID.
  • Distributed Systems Coordination - Coordinates the assignment of unique identities across a network of services to avoid central bottlenecks.
  • Millisecond Clock Sequences - Implements sequence numbers that reset every millisecond to ensure uniqueness for IDs generated within the same tick.
  • Identifier Bit-Packing - Combines timestamps, worker IDs, and sequences into a single 64-bit integer using bit-packing.

Star history

Star history chart for twitter-archive/snowflakeStar history chart for twitter-archive/snowflake

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does twitter-archive/snowflake do?

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.

What are the main features of twitter-archive/snowflake?

The main features of twitter-archive/snowflake are: Snowflake ID Generators, Unique Identifier Generators, Distributed Identifier Generators, Distributed Primary Key Generation, Deterministic ID Generation, Snowflake ID Compositions, Distributed ID Generators, High-Throughput ID Generators.

What are some open-source alternatives to twitter-archive/snowflake?

Open-source alternatives to twitter-archive/snowflake include: meituan-dianping/leaf — Leaf is a distributed unique ID generation system that provides two distinct modes for producing identifiers across… baidu/uid-generator — This project is a distributed unique ID generator designed to produce 64-bit globally unique and sortable identifiers… sony/sonyflake — Sonyflake is a distributed unique ID library that creates collision-free, chronologically ordered identifiers across… segmentio/ksuid — ksuid is a Go implementation of k-sortable unique identifiers. It provides a system for generating globally unique… rs/xid — xid is a distributed unique identifier library designed to generate compact, globally unique, and k-sortable… admol/systemdesign — This project is a reference library of architectural blueprints, study materials, and design patterns for building…

Open-source alternatives to Snowflake

Similar open-source projects, ranked by how many features they share with Snowflake.
  • meituan-dianping/leafMeituan-Dianping avatar

    Meituan-Dianping/Leaf

    6,730View on GitHub↗

    Leaf is a distributed unique ID generation system that provides two distinct modes for producing identifiers across multiple application instances without central coordination. It offers both a database-backed segment mode, which allocates blocks of IDs from a database table and caches them in memory for high throughput, and a Snowflake-style mode that combines timestamps, worker identifiers, and sequence counters to produce time-sortable unique IDs. The system distinguishes itself by offering dual-mode generation through a single RESTful endpoint, allowing applications to choose between segm

    Javadistributed-id-generatorleaf
    View on GitHub↗6,730
  • baidu/uid-generatorbaidu avatar

    baidu/uid-generator

    5,572View on GitHub↗

    This project is a distributed unique ID generator designed to produce 64-bit globally unique and sortable identifiers across multiple nodes. It implements a Snowflake-compatible algorithm that prevents collisions by combining timestamps, worker identifiers, and sequence numbers into a single integer. The system includes a worker ID orchestrator to allocate and maintain unique machine identities during instance startup and migration using database-backed strategies. To increase request throughput and reduce latency, it utilizes a ring-buffer caching layer that pre-generates identifiers and emp

    Java
    View on GitHub↗5,572
  • sony/sonyflakesony avatar

    sony/sonyflake

    4,382View on GitHub↗

    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

    Gogolangid-generator
    View on GitHub↗4,382
  • segmentio/ksuidsegmentio avatar

    segmentio/ksuid

    5,260View on GitHub↗

    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

    Gocoordinationgogolang
    View on GitHub↗5,260
  • See all 30 alternatives to Snowflake→