18 Repos
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 ist eine NoSQL-Dokumentendatenbank, die Daten als flexible Dokumente speichert und eine RESTful-API für das Datenmanagement über HTTP bereitstellt. Sie fungiert als verteilter Dokumentenspeicher, der Daten über mehrere Knoten hinweg synchronisiert und repliziert, um hohe Verfügbarkeit und Konsistenz zu gewährleisten. Das System enthält eine Volltext-Suchmaschine, die Datenbankeinträge in abfragbare Dokumente transformiert und Sortierung sowie Paginierung unterstützt. Die Datensynchronisierung erfolgt über Multi-Master-Replikation, die Revisionshistorien austauscht, um die Konsistenz über verteilte Knoten hinweg zu wahren. Die Datenbank nutzt Multi-Version-Concurrency-Control, um gleichzeitige Lese- und Schreibvorgänge ohne Sperren zu ermöglichen. Die Speicherung erfolgt über Append-Only- und B-Tree-basierte Strukturen, um die Wiederherstellung nach Abstürzen und effiziente diskbasierte Suchvorgänge zu erleichtern.
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.
This project is a dynamic datasource manager for Spring Boot designed to handle multiple database connections and switch between them at runtime. It provides a system for managing database read-write splitting, coordinating distributed transactions across disparate databases, and updating connection settings without requiring an application restart. The framework differentiates itself through its ability to route traffic based on user sessions or headers to support multi-tenant architectures. It also includes a mechanism for encrypting sensitive database credentials within configuration files
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 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
Routes read operations to replicas and write operations to a primary master database.
Dieses Projekt ist eine containerisierte Bereitstellung eines OpenLDAP-Servers, der einen Lightweight Directory Access Protocol-Dienst zum Speichern und Abrufen von Organisationsdaten und Benutzeranmeldedaten bereitstellt. Er fungiert als Verzeichnisserver für Identitätsmanagement und Benutzerauthentifizierung über Netzwerkdienste hinweg. Der Dienst unterstützt die Erstellung von LDAP-Replikationsclustern, um die Datenkonsistenz über mehrere Hosts hinweg für hohe Verfügbarkeit aufrechtzuerhalten. Er enthält Funktionen für sichere Konnektivität durch TLS-Verschlüsselung und Zertifikatsverwaltung, um sensible Verzeichnisdaten während der Übertragung zu schützen. Zusätzliche Funktionen decken die Datenbankadministration ab, einschließlich Daten-Seeding über Standard-Exchange-Format-Dateien, persistente Speicherung durch Volume-Mapping sowie automatisierte Backup- und Wiederherstellungsprozesse. Das System bietet zudem Tools zur Verwaltung von Verzeichniseinträgen über eine Befehlszeilenschnittstelle und zur Konfiguration von Servereinstellungen über Umgebungsvariablen.
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 is a cloud-native storage engine for PostgreSQL designed to replace the default storage layer to improve vertical scalability and performance on modern hardware. It functions as an index-organized table store, organizing table rows directly within the primary index to accelerate data retrieval. The engine utilizes an undo log storage system to manage data versioning, which eliminates the need for manual vacuuming and prevents table bloat. It further reduces the disk footprint through block-level and page-level data compression. The project provides capabilities for advanced index ma
Supports active-active clusters using consensus algorithms and row-level logs for multi-master replication.
Riak ist ein dezentraler NoSQL-Key-Value-Store, der für hohe Verfügbarkeit und Fehlertoleranz entwickelt wurde. Es handelt sich um eine verteilte Datenbank im Dynamo-Stil, die konsistentes Hashing und Eventual Consistency nutzt, um Daten über einen Cluster von Knoten zu skalieren. Das System fungiert als geo-replizierter Datenspeicher, der Daten über mehrere physische Standorte hinweg synchronisiert, um Disaster Recovery zu ermöglichen und die Verfügbarkeit bei regionalen Ausfällen aufrechtzuerhalten. Es verwendet ein Multi-Master-Replikationsmodell, das Schreibvorgänge auf jedem Knoten im Cluster erlaubt. Die Plattform deckt breite Funktionsbereiche ab, einschließlich dezentraler Cluster-Koordinierung, hochverfügbarer Datenverwaltung und großskaliger Datenablaufsteuerung. Sie verwaltet die Datenbeständigkeit durch quorum-basierte Konsistenz und Schreibverifizierung, während sie spezialisierte Datenstrukturen verwendet, um gleichzeitige Updates automatisch zusammenzuführen.
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.