19 个仓库
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 是一个 NoSQL 文档数据库,将数据存储为灵活的文档,并公开一个 RESTful API 以通过 HTTP 进行数据管理。它作为一个分布式文档存储,在多个节点之间同步和复制数据,以确保高可用性和一致性。 该系统包括一个全文搜索引擎,将数据库记录转换为可查询的文档,支持排序和分页。数据同步通过多主复制处理,交换修订历史以保持分布式节点之间的一致性。 该数据库利用多版本并发控制,允许在不加锁的情况下同时进行读写。存储通过仅追加和基于 B 树的结构进行管理,以促进崩溃恢复和高效的基于磁盘的查找。
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.
本项目是一个专为 Spring Boot 设计的动态数据源管理器,用于处理多个数据库连接并在运行时进行切换。它提供了一个用于管理数据库读写分离、协调跨不同数据库的分布式事务,以及在无需重启应用的情况下更新连接设置的系统。 该框架通过其根据用户会话或请求头路由流量以支持多租户架构的能力脱颖而出。它还包含一种在配置文件中加密敏感数据库凭据的机制,以防止明文泄露。 其能力范围扩展至数据库连接路由、主从节点间的读写分离,以及用于减少启动时间的懒连接初始化。它进一步通过集中式事务控制管理数据一致性,并支持运行时添加或移除数据库连接配置。
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 是一个 .NET 对象关系映射器(ORM)和数据访问层,可将面向对象的代码转换为适用于多种关系型数据库提供程序的 SQL。它作为一个流畅的 SQL 查询构建器和数据库架构同步器,允许开发者将数据库表和索引结构与实体类定义保持一致。 该框架专门针对 .NET Native AOT 进行了优化,以确保更小的内存占用和更快的启动时间。它包含一个数据库流量管理器,通过读写分离、动态分表和基于租户的数据隔离来分配负载。 其广泛的功能包括使用特定于提供程序的批量复制机制实现高性能数据摄入,利用窗口函数和递归 CTE 进行高级查询,以及基于 AOP 的数据变更审计监控。该系统还提供用于自动迁移的架构管理工具,以及用于从数据库元数据生成实体类的开发实用程序。
Routes read operations to replicas and write operations to a primary master database.
本项目是一个 OpenLDAP 服务器的容器化部署方案,提供轻量级目录访问协议服务,用于存储和检索组织数据及用户凭据。它作为目录服务器,用于跨网络服务的身份管理和用户认证。 该服务支持创建 LDAP 复制集群,以保持跨多个主机的数据一致性,实现高可用性。它包括通过 TLS 加密和证书管理实现安全连接的功能,以保护传输过程中的敏感目录数据。 其他功能涵盖数据库管理,包括通过标准交换格式文件进行数据导入、通过卷映射实现持久化存储,以及自动备份和恢复流程。该系统还提供通过命令行界面管理目录条目以及通过环境变量配置服务器设置的工具。
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 是一个专为 PostgreSQL 设计的云原生存储引擎,旨在替换默认存储层,以提高现代硬件上的垂直扩展性和性能。它作为一个索引组织表存储,直接在主索引内组织表行,以加速数据检索。 该引擎利用撤销日志存储系统来管理数据版本控制,这消除了手动清理(vacuuming)的需要并防止了表膨胀。它还通过块级和页级数据压缩进一步减少了磁盘占用。 该项目提供了高级索引管理和自动化数据库维护功能。它包括通过行级日志记录实现高可用性恢复的功能,以及用于分析空间利用率和验证表完整性的工具。
Supports active-active clusters using consensus algorithms and row-level logs for multi-master replication.
Riak 是一个去中心化的 NoSQL 键值存储,专为高可用性和容错性而设计。它是一个 Dynamo 风格的分布式数据库,利用一致性哈希和最终一致性在节点集群中扩展数据。 该系统作为地理复制数据存储运行,在多个物理位置同步数据,以提供灾难恢复并在区域性中断期间保持可用性。它采用多主复制模型,允许向集群中的任何节点进行写入。 该平台涵盖了广泛的功能领域,包括去中心化集群协调、高可用性数据管理和大规模数据过期。它通过基于法定人数的一致性和写入验证来管理数据持久性,同时利用专门的数据结构自动合并并发更新。
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.