8 dépôts
Partitioning tables into shards based on a distribution column to enable horizontal scaling and tenant isolation.
Distinct from Database Sharding: Distinct from general database sharding: focuses on row-level partitioning via distribution columns for multi-tenant efficiency.
Explore 8 awesome GitHub repositories matching data & databases · Row-Based Sharding. Refine with filters or upvote what's useful.
This project is a comprehensive Java backend engineering guide and technical reference focused on high-concurrency design, distributed systems, and microservices architecture. It provides detailed strategies for decomposing monolithic applications, managing service discovery, and implementing the architectural patterns required for scalable backend environments. The repository distinguishes itself through an extensive collection of big data algorithmic references and database scaling strategies. It covers memory-efficient techniques for analyzing massive datasets, such as Top-K element extrac
Implements horizontal scaling by distributing table rows across multiple databases using range or hash-based routing.
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
Distributed database systems split tables into shards based on a distribution column to maximize hardware efficiency and tenant density in multi-tenant database environments.
Sequel is a relational database toolkit for Ruby that provides object-relational mapping, a fluent SQL query builder, and schema migration capabilities. It maps database tables to Ruby classes with support for associations, validations, lifecycle hooks, and eager loading, offering a comprehensive ORM layer for building data-centric applications. Sequel distinguishes itself through a plugin-based extension architecture that allows composable customization of models, databases, and datasets without relying on deep inheritance hierarchies. It includes a thread-safe connection pool with support f
Ensures model instances retrieved from or created on a shard are saved to the same shard.
Atlas est un proxy de base de données MySQL et un système middleware conçu pour gérer le trafic entre les clients et les clusters de bases de données. Il fonctionne comme une passerelle de base de données haute disponibilité et un middleware de sharding, fournissant un point d'entrée tolérant aux pannes pour le routage, l'équilibrage de charge et la gestion des connexions aux bases de données. Le projet se distingue par une combinaison de séparation lecture-écriture, qui dirige les requêtes vers les serveurs primaires ou répliques, et de sharding de données pour distribuer les informations sur plusieurs instances backend. Il utilise un pooler de connexions pour réduire la surcharge liée à l'établissement de nouvelles sessions et implémente un routage conscient du protocole pour intercepter et diriger les requêtes des clients. Le système inclut des capacités de surveillance de la santé et de basculement automatisé pour assurer un service continu. Il prend en charge le contrôle administratif sur la disponibilité des serveurs backend, le filtrage IP des clients pour le contrôle d'accès, et un mécanisme pour les mises à niveau sans interruption via la diversion de trafic pilotée par signal. L'intégrité des transactions est gérée via des rollbacks automatiques en cas de déconnexion inattendue du client.
Maps database requests to specific backend instances by hashing identifiers to determine the target data shard.
FreeSql is a .NET object-relational mapper and data access layer that translates object-oriented code into SQL for multiple relational database providers. It functions as a fluent SQL query builder and database schema synchronizer, allowing developers to align database table and index structures with entity class definitions. The framework is specifically optimized for .NET Native AOT to ensure reduced memory footprints and faster startup times. It includes a database traffic manager to distribute load through read-write splitting, dynamic table sharding, and tenant-based data isolation. Bro
Splits large datasets into multiple tables based on time intervals and column values.
RavenDB is a multi-model NoSQL document database designed for high-performance, ACID-compliant data storage. It persists structured information as schema-flexible JSON documents and utilizes a unit-of-work session pattern to track entity changes and batch modifications into atomic transactions. The platform is built on a distributed architecture that supports horizontal scaling through sharding and ensures high availability via multi-node, master-to-master cluster replication. The database distinguishes itself through a self-optimizing query engine that automatically creates and maintains ind
Retrieves results from map-reduce queries across sharded databases using a streaming approach.
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
Moves a row from one shard to another online by automating the select, insert, and delete process.
This project is a reference library of architectural blueprints, study materials, and design patterns for building scalable, high-availability distributed systems. It serves as a technical guide for scalability engineering, providing structural solutions for common engineering challenges. The repository focuses on distributed systems design, covering essential patterns for data replication, consensus algorithms, and transaction management. It distinguishes itself by offering detailed blueprints for specialized domains, including real-time data streaming, large-scale data storage, and high-ava
Implements partitioning strategies specifically for scaling global leaderboards using range or hash-based distribution.