13 repositorios
Mechanisms for synchronizing and replicating data across multiple cluster nodes to ensure consistency.
Distinct from Core Data Sync Servers: Focuses on cluster-wide data replication using quorums, rather than client-server synchronization for specific frameworks like Core Data.
Explore 13 awesome GitHub repositories matching data & databases · Distributed Data Replication. Refine with filters or upvote what's useful.
FoundationDB is an ACID-compliant distributed transactional key-value store. It functions as a scalable database engine that ensures strict serializability and data consistency across a cluster of servers using a shared-nothing architecture. The system is distinguished by its multi-region replication capabilities, allowing data to be synchronized across different datacenters for high availability and disaster recovery. It utilizes optimistic concurrency control to manage distributed transactions and employs a majority-based coordination system to maintain cluster state. The platform provides
Synchronizes and replicates data across multiple cluster nodes and servers to ensure high availability and prevent data loss.
Rook is a Kubernetes storage orchestrator and distributed storage operator that automates the deployment and management of storage clusters. It serves as a multi-protocol storage provider, offering block, file, and object storage capabilities to containerized workloads. The system focuses on providing a self-healing storage cluster that replicates data across hardware nodes to maintain availability and recover from failures. It uses an operator-led model to handle the installation, scaling, and upgrades of storage nodes and daemons. The orchestrator covers a broad range of provisioning servi
Replicates data across multiple hardware nodes to ensure consistency and prevent data loss during failures.
FastDFS is a distributed file system and object store designed as a high-capacity file server. It functions as a cluster storage manager that saves, syncs, and accesses large volumes of unstructured data across a network of distributed servers. The system uses unique identifiers for file retrieval and indexing instead of traditional hierarchical naming to avoid metadata bottlenecks. It manages file attributes through key-value metadata mapping and employs a distributed replication model to ensure high availability and data redundancy across storage groups. The project provides capabilities f
Synchronizes and replicates files across multiple cluster nodes to ensure high availability and prevent data loss.
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
Distributes copies of data partitions across different cluster members to ensure continuous availability.
This is an open-source, crowd-sourced wiki textbook that teaches Linux system programming in C. It covers the core operating system concepts of process management through the fork-exec-wait model, dynamic memory allocation using implicit free list heap allocators, inode-based file systems, inter-process communication via pipes and shared memory, POSIX threads with synchronization primitives, signal-based asynchronous notification, virtual memory with page table translation, and runtime diagnostics using Valgrind and GDB. The textbook distinguishes itself by providing practical, implementation
Mentions storing file copies across servers for fault tolerance as a conceptual topic.
Fluvio es una plataforma de streaming de eventos distribuida y motor de streaming nativo de la nube, diseñado para recopilar, persistir y replicar flujos de datos en tiempo real a través de un clúster distribuido. Funciona como un pipeline de datos en tiempo real para construir flujos de trabajo con estado que ingieren, enriquecen y exportan datos entre fuentes y destinos externos. La plataforma se distingue por su uso de WebAssembly para ejecutar módulos compilados para transformaciones y filtrado de datos en línea. Esto permite la ejecución de lógica de negocio personalizada para remodelar la información en movimiento sin requerir un reinicio del clúster. El sistema cubre una amplia gama de capacidades, incluyendo ingesta de datos basada en conectores desde protocolos externos, almacenamiento inmutable estructurado en registros con E/S de copia cero y escalado horizontal del clúster. Admite la creación de pipelines complejos basados en eventos que utilizan procesamiento con estado, agregaciones en ventanas y distribución de datos basada en particiones. El motor puede desplegarse como un binario ligero en diversas arquitecturas de sistema, incluyendo dispositivos IoT ARM64 para procesamiento de datos en el borde (edge).
Distributes data partition copies across nodes with automated leader election for continuous availability.
GlusterFS es un sistema de archivos distribuido definido por software y un clúster de almacenamiento escalable que agrega recursos de disco de múltiples servidores en un único espacio de nombres global. Funciona como una plataforma de almacenamiento unificada, permitiendo que los mismos datos subyacentes se expongan a través de interfaces de almacenamiento de archivos, bloques y objetos. El sistema se distingue por una arquitectura descentralizada que utiliza hashing consistente para distribuir archivos a través de nodos de red sin un servidor de metadatos central. Asegura la integridad y disponibilidad de los datos utilizando replicación de autocuración, consistencia basada en quórum para evitar escenarios de split-brain y georeplicación asíncrona para recuperación ante desastres en sitios geográficos distantes. La plataforma proporciona una amplia cobertura de capacidades a través de exportación de almacenamiento multiprotocolo vía NFS, Samba e iSCSI, así como una gestión integral de volúmenes que incluye instantáneas puntuales, cuotas de almacenamiento y expansión elástica de capacidad. La seguridad se maneja a través de cifrado TLS para datos en tránsito, integración de gestión de identidad y control de acceso POSIX granular. El software está disponible como paquetes binarios a través de repositorios comunitarios para varias distribuciones de Linux.
Copies data across multiple servers to ensure high availability and protection against hardware failure.
m3 es una base de datos de series temporales distribuida, diseñada para métricas de alta resolución y gestión de datos de alta cardinalidad. Funciona como un sistema de almacenamiento escalable y un motor de consultas multiclúster, proporcionando un agregador de métricas distribuido capaz de realizar downsampling y resumir datos antes de que se confirmen en el almacenamiento. El proyecto se distingue por un modelo de clúster coordinado que utiliza etcd para la pertenencia a nodos y la colocación de shards. Soporta múltiples protocolos de ingesta, incluyendo el protocolo de escritura remota de Prometheus, el protocolo de línea de InfluxDB y el protocolo de texto plano de Graphite Carbon, y proporciona interfaces de consulta compatibles para PromQL y Graphite. El sistema cubre amplias áreas de capacidad, incluyendo almacenamiento de series temporales en columnas, replicación de datos síncrona y distribución de consultas (fan-out) distribuida. Incorpora automatización del ciclo de vida de los datos, ajuste de consistencia basado en quórum e indexación de series basada en etiquetas para mantener la integridad de los datos y la velocidad de recuperación en espacios de nombres aislados. La orquestación del clúster y la colocación de componentes se gestionan mediante herramientas y operadores automatizados para garantizar la alta disponibilidad y una distribución equilibrada de los datos.
Synchronizes and replicates data across cluster nodes using configurable consistency levels for fault tolerance.
Iggy es una plataforma de streaming de mensajes distribuida y un broker de mensajes multiprotocolo que funciona como un almacén de registros distribuidos persistente. Proporciona infraestructura para publicar y consumir mensajes binarios utilizando un registro de solo adición (append-only log), asegurando alta disponibilidad y consistencia de datos entre nodos mediante Viewstamped Replication. La plataforma se distingue por su infraestructura de streaming para LLM, que utiliza un protocolo de servidor para conectar modelos de lenguaje grandes a datos de streaming y controles del sistema. Esto incluye protocolos estandarizados para la gestión de contexto y el puente de datos mediante HTTP o entrada/salida estándar. El sistema cubre un amplio conjunto de capacidades, incluyendo la orquestación de pipelines de datos con plugins modulares de origen y destino, coordinación de grupos de consumidores para escalado horizontal y soporte de transporte multiprotocolo a través de TCP, QUIC, HTTP y WebSocket. También incorpora primitivas de seguridad como cifrado AES-256-GCM para datos en reposo y en tránsito, y proporciona observabilidad mediante métricas de Prometheus, rastreo con OpenTelemetry y un panel de control operativo web. El servidor puede desplegarse utilizando imágenes de contenedor y orquestarse mediante Kubernetes.
Synchronizes and replicates data across multiple cluster nodes using Viewstamped Replication for high availability.
Dynomite es una capa de fragmentación (sharding) de datos distribuida y un motor de almacenamiento clave-valor proxy. Funciona como una capa de distribución que fragmenta y replica datos a través de múltiples nodos, transformando almacenes de datos de un solo servidor en sistemas peer-to-peer escalables. El sistema actúa como un replicador de datos multidatos, sincronizando datos entre diferentes ubicaciones geográficas para asegurar la resiliencia y la alta disponibilidad durante fallos en los sitios. Gestiona la distribución de datos clave-valor para permitir el escalado lineal del almacén de datos y el almacenamiento redundante. El proyecto proporciona capacidades para la fragmentación del motor de almacenamiento y redes de alta disponibilidad. Enruta las solicitudes entrantes a motores de almacenamiento locales o remotos mientras mantiene protocolos de comunicación y asegura la comunicación entre nodos mediante cifrado.
Replicates data across multiple cluster nodes to create redundancy and ensure consistency.
go-fastdfs es un sistema de archivos distribuido y servidor de almacenamiento de objetos diseñado para construir almacenamiento en la nube privada. Proporciona una implementación de almacenamiento compatible con FastDFS que gestiona clústeres de nodos de almacenamiento para manejar subidas y descargas de archivos a gran escala. El sistema se centra en la alta disponibilidad a través de una arquitectura descentralizada que sincroniza automáticamente los datos y repara fallos entre múltiples máquinas sin un coordinador central. Admite específicamente el almacenamiento de archivos reanudables a través de HTTP, permitiendo que las transferencias grandes se pausen y reanuden desde el último byte exitoso para manejar la inestabilidad de la red. Las capacidades principales incluyen la optimización de recursos de almacenamiento mediante la deduplicación de contenido basada en SHA1 y la fusión de archivos pequeños para reducir el consumo de inodos del sistema de archivos. El proyecto también incorpora una tubería de procesamiento de imágenes que realiza escalado y redimensionamiento dinámico de imágenes durante el proceso de descarga y asegura el acceso a los archivos mediante autenticación basada en tokens. El sistema puede desplegarse mediante contenedores Docker.
Replicates files across multiple machines using a decentralized architecture to ensure consistency without a central coordinator.
Olric is a distributed data grid and in-memory key-value store that partitions and replicates data across a cluster of servers. It serves as a shared memory system for managing distributed maps, performing atomic operations, and acting as an in-memory data cache. The system provides a distributed locking mechanism for concurrency control and a pub-sub messaging system that broadcasts and routes messages over named channels across the cluster. The platform covers wide-ranging capabilities including cluster management and orchestration, data replication with configurable quorums, and automated
Ensures data availability and consistency across the cluster using quorum-based replication.
Garage is a distributed object storage system that provides an S3-compatible API gateway. It is designed to synchronize metadata across distributed nodes using conflict-free replicated data types and Merkle-tree state alignment to maintain cluster-wide consistency. The system ensures data resilience through zone-aware replication, distributing data copies across multiple physical locations. It employs quorum-based request routing and versioned layout management to validate and commit cluster configuration changes. The project covers a broad range of operational capabilities, including automa
Uses conflict-free replicated data types to synchronize state and maintain consistency across distributed nodes.