8 repositorios
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 es un proxy de base de datos MySQL y sistema middleware diseñado para gestionar el tráfico entre clientes y clusters de bases de datos. Funciona como una pasarela de base de datos de alta disponibilidad y middleware de sharding, proporcionando un punto de entrada tolerante a fallos para el enrutamiento, balanceo de carga y gestión de conexiones de base de datos. El proyecto se diferencia por una combinación de división de lectura-escritura, que dirige las consultas a servidores primarios o réplicas, y sharding de datos para distribuir información a través de múltiples instancias backend. Utiliza un pool de conexiones para reducir la sobrecarga de establecer nuevas sesiones e implementa enrutamiento consciente del protocolo para interceptar y dirigir las solicitudes del cliente. El sistema incluye capacidades para el monitoreo de salud y conmutación por error automatizada para asegurar un servicio continuo. Admite control administrativo sobre la disponibilidad del servidor backend, filtrado de IP de cliente para control de acceso y un mecanismo para actualizaciones sin tiempo de inactividad mediante la desviación de tráfico impulsada por señales. La integridad de las transacciones se gestiona mediante reversiones automáticas tras desconexiones inesperadas del cliente.
Maps database requests to specific backend instances by hashing identifiers to determine the target data shard.
FreeSql es un mapeador objeto-relacional (ORM) y capa de acceso a datos para .NET que traduce código orientado a objetos a SQL para múltiples proveedores de bases de datos relacionales. Funciona como un constructor de consultas SQL fluido y sincronizador de esquemas de base de datos, permitiendo a los desarrolladores alinear las estructuras de tablas e índices de la base de datos con las definiciones de clases de entidad. El framework está optimizado específicamente para .NET Native AOT para garantizar huellas de memoria reducidas y tiempos de inicio más rápidos. Incluye un gestor de tráfico de base de datos para distribuir la carga a través de división de lectura-escritura, fragmentación de tablas dinámica y aislamiento de datos basado en inquilinos. Las capacidades amplias incluyen ingesta de datos de alto rendimiento utilizando mecanismos de copia masiva específicos del proveedor, consultas avanzadas con funciones de ventana y CTEs recursivos, y monitoreo basado en AOP para auditar cambios de datos. El sistema también proporciona herramientas de gestión de esquemas para migraciones automatizadas y utilidades de desarrollo para generar clases de entidad a partir de metadatos de base de datos.
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.