18 repositorios
Replication architectures where multiple nodes can serve both read and write requests.
Distinguishing note: Focuses on the coordination between multiple masters, distinct from primary-replica setups.
Explore 18 awesome GitHub repositories matching data & databases · Multi-Master Replication. Refine with filters or upvote what's useful.
This project is a comprehensive educational resource focused on the principles, patterns, and trade-offs required to design scalable, reliable, and high-performance distributed systems. It provides a structured curriculum that covers the fundamental architectural strategies necessary for building modern software infrastructure, ranging from high-level system decomposition to low-level networking and data management. The repository distinguishes itself by offering deep dives into complex architectural patterns, such as microservices-based decomposition, event-driven communication, and command-
Details the operational benefits and coordination of master-master replication.
Zheng is a Spring Boot microservices framework and enterprise J2EE development platform. It functions as a distributed service gateway and identity provider, providing a foundation for building complex business applications and microservices infrastructure. The project includes a comprehensive enterprise content management system and an OAuth2 identity provider for managing single sign-on and third-party social login integrations. It also features a MyBatis ORM code generator that automatically creates database models and boilerplate functions from existing tables. The platform covers a broa
Routes data traffic between primary and replica database instances based on read or write operations.
KeyDB is a multithreaded in-memory key-value store and distributed cache. It functions as a NoSQL database utilizing multi-version concurrency control to execute non-blocking queries and scans. The project is a multithreaded fork of Redis that maintains protocol compatibility while utilizing a multithreaded architecture to scale across multi-core hardware. It distinguishes itself with flash-tiered storage, allowing the system to offload data from primary RAM to SSD or flash storage to increase total capacity. The system supports high availability through active-active mesh replication and mu
Implements a synchronization system where multiple instances simultaneously accept reads and writes.
Predis is a PHP library for connecting to and executing commands against Redis and Valkey data stores. It functions as a client for managing data integration, providing dedicated implementations for cluster sharding, pub/sub messaging, and Sentinel-based service discovery. The project distinguishes itself through specialized clients for executing server-side Lua scripts with automated hash caching and a cluster client that supports gossip protocols and key distribution. It also implements a Sentinel client to manage high availability and failover within replicated environments. The library c
Directs write operations to the master node while balancing read-only queries across multiple replica nodes.
CouchDB es una base de datos de documentos NoSQL que almacena datos como documentos flexibles y expone una API RESTful para la gestión de datos a través de HTTP. Funciona como un almacén de documentos distribuido, sincronizando y replicando datos a través de múltiples nodos para garantizar una alta disponibilidad y consistencia. El sistema incluye un motor de búsqueda de texto completo que transforma los registros de la base de datos en documentos consultables, admitiendo clasificación y paginación. La sincronización de datos se maneja mediante replicación multi-maestro, que intercambia historiales de revisión para mantener la consistencia en los nodos distribuidos. La base de datos utiliza control de concurrencia multiversión para permitir lecturas y escrituras simultáneas sin bloqueos. El almacenamiento se gestiona a través de estructuras basadas en B-tree y de solo adición (append-only) para facilitar la recuperación ante fallos y las búsquedas eficientes en disco.
Implements a replication architecture where multiple nodes can concurrently serve both read and write requests.
xorm is a relational mapper and object-relational mapping tool for Go. It translates Go structures into SQL queries and maps database rows back into native objects, providing a multi-dialect database driver that supports MySQL, PostgreSQL, SQLite, Oracle, SQL Server, and TiDB. The project features a read-write splitting manager that routes modification requests to a primary database and read requests to replicas. It includes a database schema synchronizer to automatically align table structures and indexes with application data models, as well as a fluent SQL query builder for constructing co
Routes modification requests to a primary database and read requests to replicas.
GreptimeDB is a distributed, open-source time-series database built for unified observability. It stores and queries metrics, logs, and traces together in a single columnar engine, supporting both SQL and PromQL for analysis. The database is designed as a Kubernetes-native operator with a decoupled compute and storage architecture, enabling horizontal scaling and multi-region deployment. What distinguishes GreptimeDB is its role as a multi-protocol ingestion gateway, accepting data through OpenTelemetry, Prometheus Remote Write, InfluxDB, Loki, Elasticsearch, Kafka, and MQTT protocols without
Assigns datanodes to dedicated read or write groups to prevent query degradation.
Este proyecto es un gestor de fuentes de datos dinámicas para Spring Boot diseñado para manejar múltiples conexiones de bases de datos y cambiar entre ellas en tiempo de ejecución. Proporciona un sistema para gestionar la división de lectura-escritura de bases de datos, coordinar transacciones distribuidas en bases de datos dispares y actualizar la configuración de conexión sin requerir un reinicio de la aplicación. El framework se diferencia por su capacidad para enrutar el tráfico según las sesiones o encabezados de usuario para admitir arquitecturas multi-inquilino. También incluye un mecanismo para cifrar credenciales de bases de datos sensibles dentro de archivos de configuración para evitar la exposición en texto plano. La superficie de capacidades se extiende al enrutamiento de conexiones de bases de datos, división de lectura-escritura entre nodos maestros y esclavos, y la inicialización de conexión diferida para reducir el tiempo de inicio. Además, gestiona la consistencia de los datos a través del control centralizado de transacciones y admite la adición o eliminación en tiempo de ejecución de configuraciones de conexión de bases de datos.
Routes traffic between master and slave databases to optimize performance and load balancing.
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
Defines multiple named server configurations for primary, replicas, and shards through a database option.
Pigsty is a full-stack orchestration suite for deploying, monitoring, and managing high-availability PostgreSQL clusters and their supporting infrastructure. It functions as a cluster management platform and high-availability suite that automates failover, manages virtual IPs, and ensures data consistency through distributed consensus. The project distinguishes itself by providing a comprehensive database infrastructure-as-code framework and a dedicated observability stack. It incorporates a backup and recovery manager supporting point-in-time recovery via S3-compatible object storage, alongs
Supports multi-master regional distribution of PostgreSQL instances to enable local writes and logical replication.
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.
Routes read operations to replicas and write operations to a primary master database.
Este proyecto es un despliegue contenedorizado de un servidor OpenLDAP, proporcionando un servicio de protocolo ligero de acceso a directorios para almacenar y recuperar datos organizacionales y credenciales de usuario. Funciona como un servidor de directorio para la gestión de identidad y la autenticación de usuarios a través de servicios de red. El servicio admite la creación de clústeres de replicación LDAP para mantener la consistencia de los datos a través de múltiples hosts para alta disponibilidad. Incluye capacidades para conectividad segura a través de cifrado TLS y gestión de certificados para proteger datos de directorio sensibles durante la transmisión. Las capacidades adicionales cubren la administración de bases de datos, incluyendo la siembra de datos a través de archivos de formato de intercambio estándar, almacenamiento persistente mediante mapeo de volúmenes y procesos automatizados de copia de seguridad y restauración. El sistema también proporciona herramientas para gestionar entradas de directorio a través de una interfaz de línea de comandos y configurar los ajustes del servidor mediante variables de entorno.
Implements a replication architecture where multiple nodes can serve both read and write requests.
SLIME is a distributed reinforcement learning framework for large language model post-training that bridges Megatron training with SGLang inference servers. It orchestrates scalable RL loops across GPU clusters, decoupling training and inference into independent processes that communicate over HTTP and NCCL for independent scaling and fault tolerance. The system supports multi-agent reinforcement learning workflows with parallel agent instances, customizable rollout strategies, and personalized agent serving that improves models from prior conversations without disrupting API serving. The fra
Defines independent prefill and decode server groups with per-group GPU counts, tensor-parallel sizes, and SGLang overrides for production topologies.
Orioledb es un motor de almacenamiento nativo de la nube para PostgreSQL diseñado para reemplazar la capa de almacenamiento por defecto para mejorar la escalabilidad vertical y el rendimiento en hardware moderno. Funciona como un almacén de tablas organizado por índices, organizando las filas de la tabla directamente dentro del índice primario para acelerar la recuperación de datos. El motor utiliza un sistema de almacenamiento de log de deshacer (undo log) para gestionar el versionado de datos, lo que elimina la necesidad de vacuuming manual y evita el crecimiento excesivo de las tablas (table bloat). Reduce aún más la huella en disco a través de la compresión de datos a nivel de bloque y de página. El proyecto proporciona capacidades para la gestión avanzada de índices y el mantenimiento automatizado de bases de datos. Incluye características para la recuperación de alta disponibilidad a través de logging a nivel de fila, así como herramientas para analizar la utilización del espacio y verificar la integridad de las tablas.
Supports active-active clusters using consensus algorithms and row-level logs for multi-master replication.
Riak is a decentralized NoSQL key-value store designed for high availability and fault tolerance. It is a Dynamo-style distributed database that utilizes consistent hashing and eventual consistency to scale data across a cluster of nodes. The system functions as a geo-replicated datastore, synchronizing data across multiple physical locations to provide disaster recovery and maintain availability during regional outages. It employs a multi-master replication model, allowing writes to any node in the cluster. The platform covers broad capability areas including decentralized cluster coordinat
Supports a multi-master replication model allowing write operations to any node in the cluster.
cr-sqlite is a multi-master database replication system that uses conflict-free replicated data types to ensure eventual consistency across distributed nodes. It provides the core capabilities for offline-first data synchronization, allowing multiple database instances to merge concurrent updates and reach a consistent state. The project distinguishes itself through a combination of CRDT-based data replication and a WASM-based database engine, enabling full SQL execution and state persistence within web browsers. It supports peer-to-peer replication and cross-tab synchronization, utilizing ca
Implements a multi-master replication system using SQLite and CRDTs to ensure eventual consistency across distributed nodes.
FalkorDB is a high-performance graph database management system and vector graph database. It serves as a knowledge graph construction tool and a GraphRAG knowledge store, integrating structured property graphs with vector search to provide grounded context for large language models. The engine is designed as a multi-tenant graph engine, capable of hosting thousands of isolated datasets within a single instance. The system distinguishes itself by using linear algebra for query execution, treating relationship tensors as matrix multiplications to achieve low-latency multi-hop traversals. It ut
Separates read replicas from the primary write server to scale different workload types independently.
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
Implements routing strategies that separate read and write operations, directing writes to the primary and reads to replicas.