For data partitioning techniques, the strongest matches are youtube/vitess (Vitess is a distributed MySQL clustering system and sharding), buraksezer/consistent (Consistent is a Go library providing consistent hashing with) and pgdogdev/pgdog (This PostgreSQL sharding proxy and distributed SQL router implements). apache/shardingsphere and pingcap/tikv round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
Explore the best data partitioning strategies and open-source tools, ranked by star count and activity to help you choose the right fit.
Vitess is a distributed MySQL orchestrator and clustering system designed for horizontal database scaling. It functions as sharding middleware that distributes data and load across multiple MySQL instances to handle growth beyond the capacity of a single machine. The system provides a proxy layer that abstracts data distribution, allowing applications to query a cluster as a single logical database without knowing the physical location of the data. This is achieved through a routing mechanism that intercepts queries and directs them to the appropriate shards based on keyspace mappings. The p
Vitess is a distributed MySQL clustering system and sharding middleware that implements query routing, dynamic resharding, and multi-node database partitioning for horizontal scaling.
Consistent is a Go library that implements consistent hashing with bounded loads to distribute data keys across nodes in a distributed system. It provides a mechanism for mapping keys to cluster members that minimizes data movement during membership changes while preventing performance hotspots. The library distinguishes itself by enforcing strict capacity limits on individual nodes, ensuring that no single member becomes overwhelmed by excessive key assignments. It supports virtual node mapping to distribute physical capacity across the hash ring, allowing for granular control over load bala
Consistent is a Go library providing consistent hashing with bounded loads for distributed key routing, fitting the search as a specialised data partitioning building block despite lacking broader sharding features like range partitioning or distributed transactions.
pgdog is a PostgreSQL sharding proxy, distributed SQL router, and connection pooler. It is designed to enable horizontal data distribution by splitting tables and indices across multiple independent servers to scale storage and processing capacity. The project distinguishes itself through online resharding capabilities, using logical replication to move data between shards without application downtime. It supports multiple routing strategies, including hash, list, and range-based query routing, and manages distributed atomic transactions using a two-phase commit process to ensure consistency
This PostgreSQL sharding proxy and distributed SQL router implements hash and range routing, online resharding for dynamic rebalancing, and distributed atomic transactions via two-phase commit, directly answering your need for a multi-node partitioning and routing layer.
ShardingSphere is a distributed SQL database middleware that provides sharding, read-write splitting, and distributed transaction management for relational databases. It functions as a layer that intercepts SQL queries to distribute data across multiple physical database instances for horizontal scaling. The project is distinguished by its ability to operate as either a standalone transparent database proxy or via direct integration as a JDBC driver. It features a SQL dialect translator that parses queries into abstract syntax trees to convert syntax between different database engines, enabli
Apache ShardingSphere is a distributed SQL database middleware providing database sharding, read-write splitting, and distributed transaction management, which squarely matches your need for data partitioning and routing tools.
TiKV is a cloud-native distributed transactional key-value store and storage engine. It provides a distributed database designed for horizontal scalability and strong consistency across a cluster of physical nodes. The system uses a Raft-based consensus mechanism to maintain data availability and state synchronization. It ensures ACID compliance for distributed transactions through a two-phase commit workflow and manages data distribution via multi-Raft sharding. The engine handles massive datasets using automated range splitting and cluster load balancing to distribute data across different
TiKV provides multi-Raft sharding, automated range splitting, and dynamic cluster load balancing for distributed transactional key-value data, though it functions as a complete storage engine rather than a general routing library.
Vitess is a database clustering system for horizontal scaling of MySQL. It functions as a middleware layer that abstracts complex sharding and physical topology, allowing applications to interact with a distributed database environment through a unified interface. By intercepting and routing SQL queries across multiple shards, it enables large-scale data management while maintaining the appearance of a single database instance. The platform distinguishes itself through its ability to perform online schema migrations and distributed transaction coordination without requiring application downti
Vitess is a database clustering and middleware system that implements horizontal sharding, dynamic rebalancing, and distributed transaction coordination for MySQL at scale.
Cassandra is a distributed NoSQL database and wide-column store designed for high availability and linear scalability. It functions as a fault-tolerant distributed system that utilizes an LSM-tree storage engine to optimize write throughput and manage massive datasets. The system is a CQL-compliant database, using a structured query language to manage and retrieve tabular data stored across multiple nodes. It organizes information into rows and columns based on a flexible schema and primary keys. The project provides capabilities for horizontal database scaling, distributed data partitioning
Apache Cassandra is a distributed NoSQL database natively featuring consistent hashing and horizontal partitioning across multiple nodes, though it lacks general-purpose distributed transactions.
Mycat-Server is a MySQL database middleware system that functions as a sharding proxy, distributed database coordinator, and high availability manager. It acts as a proxy layer that routes SQL traffic between applications and multiple backend MySQL database instances to enable horizontal scaling. The system coordinates distributed transactions, generates global unique sequences to prevent primary key collisions, and executes distributed join queries across multiple database shards. It includes a load balancer that performs read-write splitting by directing traffic between primary and slave no
Mycat-Server is a MySQL database sharding proxy and distributed middleware that handles SQL routing, read-write splitting, and distributed transactions across multiple backend instances, fitting the search for database partitioning tools.
Twemproxy is a lightweight proxy that routes and distributes requests across multiple Redis and Memcached backend servers. It functions as a protocol translation gateway and distributed cache shard manager, partitioning data across clusters to balance load and storage capacity. The system acts as a high-availability cache orchestrator, employing health monitoring and automatic server ejection to maintain continuous access to cached data. It integrates with sentinels for dynamic master and replica discovery and utilizes consistent hashing and tag-based key grouping to manage data distribution
Twemproxy is a lightweight proxy that implements consistent hashing and distributed sharding for caching systems, though it focuses specifically on Redis and Memcached rather than a general-purpose database sharding framework.
Olric is a distributed data grid and in-memory key-value store that partitions and replicates data across a cluster of servers. It serves as a shared memory system for managing distributed maps, performing atomic operations, and acting as an in-memory data cache. The system provides a distributed locking mechanism for concurrency control and a pub-sub messaging system that broadcasts and routes messages over named channels across the cluster. The platform covers wide-ranging capabilities including cluster management and orchestration, data replication with configurable quorums, and automated
Olric implements data partitioning and replication as a distributed in-memory data grid, though it focuses on key-value storage rather than general-purpose range partitioning or distributed transactions.
Hazelcast is a distributed data platform that combines an in-memory data grid with a stream processing engine to support real-time analytics and event-driven applications. It functions as a partitioned, distributed key-value store that replicates data across cluster nodes to provide low-latency access and high availability. The platform also serves as a distributed SQL query engine, allowing users to execute standard SQL statements against both in-memory datasets and external data sources. What distinguishes Hazelcast is its use of a distributed consensus subsystem to maintain strongly consis
Hazelcast is a distributed in-memory data grid that natively implements data partitioning, key-value sharding, and cluster replication across nodes, making it a strong infrastructural fit for distributed data routing.
This project is a distributed, document-oriented database system designed to store information in flexible, hierarchical structures. It supports horizontal scaling through automated sharding and maintains high availability across global clusters using a multi-node replication protocol. By executing multi-document operations as atomic units, the system ensures data integrity and consistency across distributed environments. The platform distinguishes itself by integrating advanced vector-based indexing, which enables semantic similarity searches alongside traditional geospatial and lexical quer
MongoDB is a distributed document database that implements automated sharding, consistent-style routing, and multi-node replication, though it is a full database system rather than a dedicated library or framework for partitioning.
Citus is a PostgreSQL extension that transforms a standard database into a distributed system. It functions as a sharding framework and distributed SQL engine, enabling horizontal scaling by partitioning tables across a cluster of nodes. By utilizing a coordinator-worker topology, the system manages metadata and routes queries to the appropriate nodes, allowing for parallel execution of complex operations across distributed data shards. The platform distinguishes itself through its specialized support for multi-tenant architectures and real-time analytical processing. It enables tenant-based
Citus transforms PostgreSQL into a distributed database using a sharding framework and coordinator-worker topology, making it a strong fit for distributed data routing even though it relies on PostgreSQL rather than operating as a general-purpose library for any data store.
Kingshard is a MySQL database proxy and sharding middleware that routes SQL traffic between clients and multiple database nodes. It functions as a load balancer, read-write splitter, and SQL query firewall to manage how data is accessed and distributed across a database infrastructure. The system implements data sharding using hash, range, or date strategies to split tables across multiple nodes. It enables read-write splitting by directing data modification requests to a master node while distributing read-only queries across a pool of slave replicas. The proxy provides traffic management t
Kingshard is a MySQL database proxy and sharding middleware that implements hash and range data splitting across multiple nodes, though it lacks built-in distributed transactions and dynamic rebalancing.
Dynomite is a distributed data sharding layer and key-value storage engine proxy. It functions as a distribution layer that shards and replicates data across multiple nodes, transforming single-server datastores into scalable peer-to-peer systems. The system acts as a multi-datacenter data replicator, synchronizing data between different geographical locations to ensure resilience and high availability during site failures. It manages the distribution of key-value data to enable linear datastore scaling and redundant storage. The project provides capabilities for storage engine sharding and
Dynomite is a distributed data sharding layer and storage proxy that implements consistent hashing, replication, and multi-node routing across datacenters, fitting the sharding library category well despite lacking some advanced distributed transaction features.
| المستودع | النجوم | اللغة | الترخيص | آخر تحديث |
|---|---|---|---|---|
| youtube/vitess | 21K | Go | Apache-2.0 | |
| buraksezer/consistent | 774 | Go | MIT | |
| pgdogdev/pgdog | 3.4K | Rust | agpl-3.0 | |
| apache/shardingsphere | 20.7K | Java | Apache-2.0 | |
| pingcap/tikv | 16.7K | Rust | Apache-2.0 | |
| vitessio/vitess | 20.8K | Go | apache-2.0 | |
| apache/cassandra | 9.8K | Java | Apache-2.0 | |
| mycatapache/mycat-server | 9.5K | Java | GPL-2.0 | |
| twitter/twemproxy | 12.3K | C | Apache-2.0 | |
| olric-data/olric | 3.5K | Go | Apache-2.0 |