24 dépôts
Mechanisms for copying and synchronizing data across multiple storage nodes to ensure high availability.
Distinguishing note: None of the candidates matched; this focuses on the consensus-based replication mechanism used for high availability.
Explore 24 awesome GitHub repositories matching data & databases · Database Replication. Refine with filters or upvote what's useful.
Ce projet est une ressource éducative et un guide d'étude complet axé sur l'architecture des systèmes distribués et la conception d'infrastructures backend. Il fournit un programme structuré pour maîtriser les principes de scalabilité, de fiabilité et de performance requis pour concevoir des systèmes logiciels complexes. Le dépôt se distingue en offrant une approche méthodique de la préparation aux entretiens techniques, intégrant des modèles de conception, des compromis architecturaux et des outils de répétition espacée pour aider les utilisateurs à retenir des concepts complexes. Il met l'accent sur l'analyse axée sur les contraintes, enseignant aux utilisateurs comment évaluer des exigences concurrentes comme la latence, la cohérence et la disponibilité lors de l'élaboration de conceptions architecturales. Le contenu couvre un large spectre de capacités de conception de systèmes, notamment des stratégies pour la mise à l'échelle des bases de données, la gestion du trafic et l'optimisation de l'infrastructure. Il détaille des techniques pour la mise à l'échelle horizontale, la mise en cache multicouche, la communication asynchrone et la découverte de services, tout en fournissant des cadres pour effectuer des estimations de ressources et la planification de la capacité. La documentation est organisée comme un guide d'étude, offrant un chemin systématique à travers les fondamentaux de l'ingénierie backend et de la conception de systèmes à grande échelle.
Details mechanisms for synchronizing data across nodes to ensure high availability and failover protection.
TiDB is a horizontally scalable, distributed SQL database designed to provide consistent transactional storage and high-performance analytical processing within a single unified architecture. It utilizes a decoupled compute-storage design and a distributed key-value storage layer to ensure horizontal scalability and efficient range-based queries. By employing a consensus-based replication algorithm, the system maintains high availability and automatic failover across multiple nodes and geographical regions. The platform distinguishes itself through its hybrid transactional and analytical proc
Contribute Copy as Markdown View as Markdown TiDB uses the Raft consensus algorithm to ensure that data is highly available and safely replicated throughout storage in Raft Groups. Data is redundantly copied
Sglang is a high-performance inference engine and serving system designed for large language and multimodal models. It provides a programmable interface for orchestrating complex generation workflows, enabling developers to coordinate multi-turn dialogues, tool invocations, and reasoning chains through a domain-specific language. The platform is built to support production-scale deployments, offering an OpenAI-compatible API that allows for integration with existing application ecosystems. The system distinguishes itself through a disaggregated architecture that separates compute-intensive pr
Replicates model instances across device groups to process multiple concurrent requests, optimizing memory and communication for high-demand workloads.
Dolt is a relational database engine that integrates version control directly into the database management layer. It functions as a version-controlled SQL database that tracks every row and schema change using a commit-based history, allowing users to branch, merge, and audit data modifications. By implementing a wire-protocol-compatible server, the system enables standard SQL clients and tools to interact with versioned data as if they were connecting to a traditional relational database. The platform distinguishes itself by applying repository-style workflows to data management, including s
Configures read replicas and synchronization topologies to distribute data and maintain historical records.
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
Synchronizes data across multiple instances in a mesh topology to enable load balancing and high availability.
all-in-one is a containerized deployment system designed to install and manage a complete suite of productivity and collaboration services. It functions as a cloud suite deployer that orchestrates the installation of a self-hosted content platform, incorporating necessary dependencies via Docker or Kubernetes. The project distinguishes itself by providing a web-based dashboard for orchestrating, updating, and monitoring the lifecycle of service containers. It also serves as a local AI inference server, enabling the execution of generative text models, image diffusion, and speech processing on
Implements mechanisms for copying and synchronizing database content across multiple servers for high availability.
immudb is a tamperproof database that maintains an immutable record of entries using cryptographic commit logging. It ensures verifiable database integrity by utilizing Merkle trees to generate membership and consistency proofs that detect unauthorized data alterations. The system employs a multi-model storage engine that unifies key-value, document, and relational data structures within a single immutable backend. It provides compatibility with the PostgreSQL wire protocol, allowing it to integrate with standard SQL clients, ORMs, and database tools. The project covers broad capabilities in
Ensures high availability and data redundancy through synchronous node replication across a distributed cluster.
RedisInsight is a graphical user interface and management tool for browsing, analyzing, and administering Redis databases. It provides a visual environment for exploring key-value data structures, managing database instances, and performing data analysis across different operating systems and deployments. The tool distinguishes itself by providing dedicated visual managers for complex operations, including a vector database manager for configuring embeddings and similarity searches, a query workbench for executing raw commands and Lua scripts, and a performance monitoring dashboard for tracki
Copies data directly from a source database to a target database in real-time.
Apache Tomcat is an open-source implementation of the Jakarta Servlet, Pages, Expression Language, and WebSocket specifications, serving as a container for running Java web applications. It provides a modular architecture with a servlet container, connector abstraction for multiple I/O models, and a pipeline-based request processing system that handles cross-cutting concerns through composable components. The server supports container-managed security with configurable realms for authentication against JDBC, LDAP, or memory-based credential stores, and offers TLS encryption with optional Open
Shares session data among multiple server instances to support failover and load balancing.
Otter is a distributed database synchronization system and change data capture tool designed to replicate data between databases across multiple geographic regions. It functions as a synchronization orchestrator and ETL data pipeline that mirrors records and associated files in real time. The system employs incremental log parsing to capture database changes and utilizes a consistency-based convergence algorithm and loop-avoidance logic to manage bi-directional replication. It processes data through a pipeline of selection, extraction, transformation, and loading to handle joins and format co
Parses incremental database logs to replicate data from source to target databases in near real-time.
Patroni is a high availability manager and cluster orchestrator for PostgreSQL. It functions as an automatic failover controller and replication manager that ensures continuous database availability by automating leader election and promoting standby nodes during failures. The system maintains a consistent cluster state by acting as a distributed consensus coordinator. It synchronizes configuration and manages leader elections through integration with distributed configuration stores such as etcd, ZooKeeper, or Consul. Its broader capabilities include managing both synchronous and asynchrono
Manages synchronous and asynchronous replication modes to balance data durability and system latency.
CloudNativePG is a Kubernetes operator designed for the administration, lifecycle management, and high availability of PostgreSQL database clusters. It functions as a declarative orchestrator that manages database instances through custom resources and manifests. The project distinguishes itself by automating complex operational tasks, including primary election and failover management via streaming physical replication. It provides specialized tools for database version migrations, supporting both offline in-place upgrades and online migrations through logical replication. The operator cove
Uses streaming and file-based physical replication to keep standby replicas synchronized with the primary node.
Hazelcast is a distributed data platform that combines an in-memory data grid with a stream processing engine to support real-time analytics and event-driven applications. It functions as a partitioned, distributed key-value store that replicates data across cluster nodes to provide low-latency access and high availability. The platform also serves as a distributed SQL query engine, allowing users to execute standard SQL statements against both in-memory datasets and external data sources. What distinguishes Hazelcast is its use of a distributed consensus subsystem to maintain strongly consis
Synchronizes session state across multiple application instances to ensure continuous user experience.
Orchestrator est un système de haute disponibilité et un gestionnaire de réplication pour les clusters de bases de données MySQL. Il fonctionne comme un automatiseur de basculement et un visualiseur de topologie conçu pour détecter les pannes de maître et promouvoir les réplicas de secours afin de minimiser les temps d'arrêt du système. Le projet se concentre sur la gestion et la reconfiguration des topologies de réplication MySQL pour maintenir une distribution cohérente des données. Il utilise l'exploration de découverte de topologie pour mapper les structures de réplication et identifie les pannes actives au sein du cluster de base de données. Le système fournit des fonctionnalités pour la récupération automatisée de cluster, le suivi d'instance conscient de l'emplacement et la reconfiguration de topologie basée sur des contraintes. Il maintient également un journal d'audit de l'enregistrement d'état pour suivre les changements de topologie historiques et les événements de basculement.
Organizes the replication graph of database clusters to ensure consistent data distribution and availability.
MySQL replication topology management and HA
Moves replicas between masters safely using drag-and-drop or CLI commands while rejecting illegal refactoring attempts.
AliSQL is a fork of MySQL by Alibaba that extends the relational database management system with enhancements for high performance, scalability, and enterprise-grade availability. It retains the core MySQL identity as a SQL-based database for storing, organizing, and retrieving structured data, while adding optimizations for large-scale transactional and analytical workloads. The project differentiates itself through a set of Alibaba-specific improvements, including a columnar engine for accelerating analytical queries directly on MySQL tables, and a distributed, shared-nothing NDB Cluster en
Imports running replication topologies into AdminAPI for unified management.
LXD is a unified platform for managing both system containers and virtual machines through a single REST API and command-line interface. It provides a programmatic HTTP interface for controlling the full lifecycle of instances, enabling automation and integration with external tools. The system runs unprivileged containers with per-instance UID/GID mappings, seccomp filters, and AppArmor profiles for kernel-level isolation, while supporting multiple storage backends including directory, Btrfs, LVM, ZFS, Ceph, LINSTOR, and TrueNAS through a unified driver interface. The platform distinguishes
Replicates database state across cluster members using a distributed SQLite variant for fault tolerance.
go-mysql est une boîte à outils pour le langage de programmation Go conçue pour implémenter des gestionnaires de protocole MySQL, des systèmes de réplication de journal binaire, des serveurs mock et des utilitaires d'analyse de schéma. Elle fournit les bibliothèques nécessaires pour interagir avec les serveurs MySQL via des protocoles réseau natifs et des flux de journaux binaires. Le projet permet la création de proxys de base de données personnalisés ou de serveurs mock en analysant et en décodant des paquets réseau de bas niveau. Il inclut également un outil de réplication pour diffuser et traiter les journaux binaires afin de synchroniser les données entre différents systèmes de stockage, ainsi qu'un analyseur de schéma pour extraire et analyser les définitions structurelles de la base de données. La boîte à outils couvre un large éventail de capacités d'intégration de base de données, y compris la gestion des connexions, l'exécution de requêtes et la gestion des flux de travail de réplication de données en temps réel. Elle prend également en charge l'automatisation des migrations de schéma et la synchronisation des enregistrements vers des systèmes de stockage externes.
Synchronizes database changes in real-time by processing MySQL binary log events.
LiteFS est un système de fichiers distribué basé sur FUSE conçu pour répliquer les bases de données SQLite sur un cluster de machines. Il fonctionne comme une couche de haute disponibilité qui synchronise les données en interceptant les opérations d'écriture pour assurer la cohérence sur plusieurs nœuds de serveur. Le système gère le stockage de base de données distribué en mappant les opérations de fichiers vers des requêtes réseau via un pilote en espace utilisateur. Cela permet la synchronisation des données multi-régions et la distribution du contenu de la base de données vers des nœuds en périphérie (edge nodes), facilitant les lectures locales avec des écritures globales synchronisées. Le processus de réplication utilise l'expédition de journaux d'écriture anticipée (write-ahead log shipping) et l'interception consciente des transactions pour diffuser les changements validés d'un nœud primaire vers des répliques de secours. Les nouvelles répliques sont initialisées via des instantanés (snapshots) avant de passer à la réplication incrémentielle des journaux.
Synchronizes SQLite database state across cluster members for fault tolerance and high availability.
Stolon est un gestionnaire et orchestrateur de base de données cloud-native pour PostgreSQL. Il fonctionne comme un gestionnaire de haute disponibilité conçu pour automatiser le basculement (failover), la réplication et la gestion de cluster dans des environnements distribués. Le système coordonne la mise en miroir synchrone et asynchrone des données et utilise un mécanisme de découverte de service pour détecter dynamiquement les adresses des nœuds de base de données. Il achemine le trafic client vers l'instance primaire actuelle via un proxy pour maintenir l'accès à l'application lors des changements de rôle. Le projet couvre la reprise après sinistre (disaster recovery) via la récupération à un instant T et la maintenance de clusters de secours multi-sites. Il inclut également des capacités pour sécuriser les connexions à la base de données via le chiffrement et l'automatisation de la détection des changements d'adresse de processus au sein du réseau.
Synchronizes standby instances with the primary node by streaming data changes in real time.