19 repository-uri
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 19 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 is a NoSQL document database that stores data as flexible documents and exposes a RESTful API for data management over HTTP. It functions as a distributed document store, synchronizing and replicating data across multiple nodes to ensure high availability and consistency. The system includes a full-text search engine that transforms database records into queryable documents, supporting sorting and pagination. Data synchronization is handled via multi-master replication, which exchanges revision histories to maintain consistency across distributed nodes. The database utilizes multi-ve
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.
Acest proiect este un manager de surse de date dinamic pentru Spring Boot, conceput pentru a gestiona conexiuni multiple la baze de date și a comuta între ele la runtime. Oferă un sistem pentru gestionarea separării citire-scriere a bazei de date, coordonarea tranzacțiilor distribuite între baze de date disparate și actualizarea setărilor de conexiune fără a necesita repornirea aplicației. Framework-ul se diferențiază prin capacitatea sa de a ruta traficul pe baza sesiunilor sau header-elor utilizatorului pentru a susține arhitecturi multi-tenant. Include, de asemenea, un mecanism pentru criptarea credențialelor sensibile ale bazei de date în fișierele de configurare pentru a preveni expunerea în text clar. Suprafața de capabilități se extinde la rutarea conexiunilor la baza de date, separarea citire-scriere între nodurile master și slave și inițializarea leneșă a conexiunii pentru a reduce timpul de pornire. Gestionează în continuare consistența datelor prin controlul centralizat al tranzacțiilor și suportă adăugarea sau eliminarea la runtime a configurațiilor de conexiune la baza de date.
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 este un mapper obiect-relațional (ORM) .NET și un strat de acces la date care traduce codul orientat pe obiecte în SQL pentru mai mulți furnizori de baze de date relaționale. Funcționează ca un builder fluent de query-uri SQL și sincronizator de schemă de bază de date, permițând dezvoltatorilor să alinieze structurile tabelelor și indicilor bazei de date cu definițiile claselor de entități. Framework-ul este optimizat special pentru .NET Native AOT pentru a asigura amprente de memorie reduse și timpi de pornire mai rapizi. Include un manager de trafic al bazei de date pentru a distribui load-ul prin read-write splitting, sharding dinamic al tabelelor și izolare a datelor bazată pe chiriași (tenant). Capabilitățile largi includ ingestia de date de înaltă performanță folosind mecanisme de bulk copy specifice furnizorului, interogare avansată cu funcții de fereastră și CTE-uri recursive, și monitorizare bazată pe AOP pentru auditarea modificărilor de date. Sistemul oferă, de asemenea, instrumente de gestionare a schemei pentru migrări automate și utilitare de dezvoltare pentru generarea claselor de entități din metadatele bazei de date.
Routes read operations to replicas and write operations to a primary master database.
Acest proiect este o implementare containerizată a unui server OpenLDAP, oferind un serviciu de protocol de acces la director ușor pentru stocarea și preluarea datelor organizaționale și a credențialelor utilizatorilor. Acesta funcționează ca un server de director pentru gestionarea identității și autentificarea utilizatorilor în serviciile de rețea. Serviciul suportă crearea de clustere de replicare LDAP pentru a menține consistența datelor pe mai multe gazde pentru o disponibilitate ridicată. Include capabilități pentru conectivitate securizată prin criptare TLS și gestionarea certificatelor pentru a proteja datele sensibile ale directorului în timpul transmisiei. Capabilitățile suplimentare acoperă administrarea bazei de date, inclusiv popularea datelor prin fișiere în format standard de schimb, stocare persistentă prin maparea volumelor și procese automate de backup și restaurare. Sistemul oferă, de asemenea, instrumente pentru gestionarea intrărilor din director printr-o interfață CLI și configurarea setărilor serverului prin variabile de mediu.
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 este un motor de stocare cloud-native pentru PostgreSQL conceput pentru a înlocui stratul de stocare implicit pentru a îmbunătăți scalabilitatea verticală și performanța pe hardware modern. Acesta funcționează ca un magazin de tabele organizat prin index, organizând rândurile tabelului direct în cadrul indexului primar pentru a accelera preluarea datelor. Motorul utilizează un sistem de stocare a jurnalului de undo pentru a gestiona versiunea datelor, ceea ce elimină nevoia de vacuuming manual și previne umflarea tabelelor. Reduce în continuare amprenta pe disc prin compresia datelor la nivel de bloc și la nivel de pagină. Proiectul oferă capabilități pentru gestionarea avansată a indexurilor și întreținerea automată a bazei de date. Include funcționalități pentru recuperarea disponibilității ridicate prin logare la nivel de rând, precum și instrumente pentru analizarea utilizării spațiului și verificarea integrității tabelelor.
Supports active-active clusters using consensus algorithms and row-level logs for multi-master replication.
Riak este un magazin NoSQL de tip cheie-valoare descentralizat, conceput pentru disponibilitate ridicată și toleranță la erori. Este o bază de date distribuită de tip Dynamo care utilizează hashing consistent și consistență eventuală pentru a scala datele într-un cluster de noduri. Sistemul funcționează ca un datastore geo-replicat, sincronizând datele în mai multe locații fizice pentru a oferi recuperare în caz de dezastru și a menține disponibilitatea în timpul întreruperilor regionale. Utilizează un model de replicare multi-master, permițând scrieri către orice nod din cluster. Platforma acoperă domenii largi de capabilități, inclusiv coordonarea descentralizată a clusterelor, gestionarea datelor cu disponibilitate ridicată și expirarea datelor la scară largă. Gestionează durabilitatea datelor prin consistență bazată pe cvorum și verificare la scriere, utilizând totodată structuri de date specializate pentru a îmbina automat actualizările concurente.
Supports a multi-master replication model allowing write operations to any node in the cluster.
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
Synchronizes document changes across multiple database nodes using master-to-master replication to ensure data availability and consistency.
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.