13 repositorios
Implementations of quorum-based consensus algorithms to ensure data durability and consistency across distributed database nodes.
Distinguishing note: Focuses on the transaction processing layer of distributed databases, distinct from general networking or replication.
Explore 13 awesome GitHub repositories matching data & databases · Distributed Consensus Protocols. Refine with filters or upvote what's useful.
Cockroach is a distributed SQL database designed to scale horizontally across multiple nodes while maintaining strict ACID compliance and global data consistency. It functions as a relational database engine that automatically partitions data into ranges, rebalancing them across a cluster to accommodate growing storage and throughput requirements. By utilizing a distributed consensus protocol, the system ensures that all nodes agree on the order of operations, providing fault tolerance and continuous availability even in the event of hardware failures. The system distinguishes itself through
Uses replicated state machine protocols to ensure all nodes agree on the order of operations.
ZooKeeper is a distributed coordination service that provides a centralized system for managing configuration, naming, and synchronization across a cluster of distributed processes. It functions as a cluster consensus service, a distributed configuration store, and a distributed lock manager to maintain a consistent state across multiple network nodes. The service implements a consensus protocol to ensure data consistency and uses a replicated state machine to maintain identical copies of the system state across all servers. It provides a distributed lock management system to coordinate exclu
Employs quorum-based consensus to ensure data consistency and durability across the cluster.
This project is a curated collection of academic papers, books, and technical resources designed for studying the architecture and implementation of database management systems. It serves as a comprehensive educational guide for engineers and researchers looking to understand the fundamental principles behind modern data storage and retrieval. The repository distinguishes itself by providing structured learning paths across critical database domains, including the design of persistent storage engines, the mechanics of query optimization, and the complexities of distributed transaction managem
Covers consensus algorithms and voting mechanisms essential for maintaining state consistency across distributed database nodes.
OceanBase is a distributed SQL database designed for high availability and strong consistency across multiple nodes and regions. It functions as a hybrid transactional and analytical processing engine, allowing real-time analytics and transactions to execute on a single data copy. The system also serves as a vector database engine for indexing and querying vector data to power semantic search and recommendation systems. The platform features native compatibility layers for MySQL and Oracle, enabling the migration of legacy workloads without rewriting SQL code. It utilizes a Paxos-based distri
Uses the Paxos consensus protocol to maintain strong data consistency across distributed replicas.
ToyDB is a distributed SQL database that provides a system for storing and querying data across multiple nodes. It focuses on maintaining strong consistency and fault tolerance through the implementation of a distributed consensus algorithm. The project distinguishes itself by supporting historical data versioning, enabling time-travel queries to retrieve the state of the database from a specific point in the past. It utilizes multi-version concurrency control to manage ACID transactions and ensure data integrity during concurrent operations. The system covers relational data modeling with t
Replicates state across a cluster using a consensus protocol to maintain consistency across all nodes.
Tendermint is a Byzantine fault tolerant consensus engine that replicates a deterministic state machine across a cluster of machines while tolerating up to one-third malicious validators. It functions as a blockchain application platform, connecting application logic to the consensus engine through a socket-based protocol that enables development in any programming language. The system commits blocks when more than two-thirds of weighted validators sign and broadcast their votes, with proof included in the next block. It provides cryptographic state verification, allowing efficient authentica
Commits blocks when more than two-thirds of weighted validators sign and broadcast their votes with proof.
Algodeck is an open-source collection of flash cards designed for reviewing algorithms, data structures, and system design concepts, specifically curated for technical interview preparation. The project organizes knowledge into atomic question-and-answer pairs and incorporates spaced repetition scheduling to optimize long-term memory retention. The flash card catalog covers a broad range of computer science topics, including classic sorting algorithms like quicksort and mergesort, data structure operations for arrays, trees, heaps, tries, and graphs, as well as bit manipulation techniques for
Explains consensus protocols for fault-tolerant agreement across distributed nodes.
Blitzar es un motor de pruebas SQL verificables y una librería criptográfica diseñada para la computación SQL verificable. Permite la ejecución de consultas de base de datos fuera de la cadena (off-chain) mientras genera pruebas de conocimiento cero que certifican la corrección de los resultados para su verificación en la cadena (on-chain). El proyecto se distingue por un acelerador de pruebas basado en GPU que descarga cargas de trabajo criptográficas pesadas a procesadores gráficos, reduciendo el tiempo requerido para la generación de pruebas sucintas. Proporciona primitivas criptográficas de alto rendimiento para aplicaciones en C++ y Rust, centrándose en operaciones de curvas elípticas y multiplicación multiescalar. El sistema cubre una amplia superficie de gestión de datos y seguridad, incluyendo la integración de datos sin confianza (trustless) que combina la indexación de blockchain con conjuntos de datos fuera de la cadena en tablas relacionales a prueba de manipulaciones. Utiliza consenso BFT y firmas de umbral para mantener la integridad del estado, junto con mecanismos para la sincronización de datos basada en quórum y la entrega de resultados verificados mediante callbacks de contratos inteligentes. El código base proporciona bindings nativos para C++ y Rust para exponer sus conjuntos de herramientas criptográficas y librerías de computación de pruebas.
Uses a fault-tolerant protocol and threshold signatures to ensure data modifications are validated by a decentralized quorum.
Zeebe es un motor de flujo de trabajo cloud-native y máquina de estados distribuida diseñada para la orquestación de procesos de negocio utilizando estándares BPMN y DMN. Opera como un runtime de flujo de trabajo gRPC de alto rendimiento que ejecuta procesos de negocio complejos a través de una arquitectura de streaming de eventos particionada. El sistema también funciona como un orquestador para agentes de modelos de lenguaje de gran tamaño, coordinando el razonamiento de IA y el uso de herramientas dentro de procesos de negocio deterministas. El motor se distingue por su red de brokers peer-to-peer y un modelo de replicación de datos basado en consenso que garantiza alta disponibilidad y tolerancia a fallos. Emplea un cluster de brokers particionado para lograr escalabilidad horizontal y utiliza contrapresión de solicitudes adaptativa para regular el flujo de comandos entrantes y prevenir la sobrecarga del sistema. La plataforma cubre una amplia superficie de capacidades operativas, incluyendo monitoreo de ejecución en tiempo real con mapas de calor de rendimiento, toma de decisiones de negocio automatizada mediante tablas de decisión y ejecución de tareas distribuidas a través de un modelo de trabajador de tareas basado en polling. También proporciona herramientas para el aislamiento de recursos multi-tenant, control de acceso basado en identidad e integración de APIs web externas y funciones serverless. El sistema puede desplegarse a través de varios entornos, incluyendo Kubernetes y Docker, y se gestiona mediante una combinación de interfaz de línea de comandos y una API REST programática.
Ensures data durability by requiring a majority of broker nodes to confirm records before committing.
braft is an embeddable C++ library that implements the Raft consensus algorithm, providing a distributed consensus engine for building fault-tolerant, replicated state machines. At its core, it manages leader election, log replication, cluster membership changes, and state machine synchronization across a cluster of nodes, ensuring strong consistency and data durability even in the face of node failures. The library distinguishes itself through a comprehensive set of mechanisms for reliable distributed coordination. It uses a randomized timeout-based leader election process with term manageme
Implements quorum-based decision making for strong consistency guarantees across network partitions.
sofa-jraft is a Java implementation of the Raft consensus algorithm. It serves as a distributed consensus engine and linearizable state machine designed to ensure high availability and data consistency across a cluster of nodes. The project provides a replicated key-value store and a coordination engine for managing distributed state. It distinguishes itself through support for multi-group consensus sharding to distribute traffic and a service provider interface that allows for custom log storage and entry encoding implementations. The system covers a wide range of distributed capabilities,
Requires a majority quorum of nodes to agree on log entries before committing them to the state machine.
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
Guarantees data accuracy by requiring a minimum number of replica acknowledgments for read and write operations.
Stellar Core is the primary software implementation of the Stellar blockchain network, serving as a distributed ledger and a Federated Byzantine Agreement system. It functions as a core node that maintains the shared state of the network and provides a runtime environment for executing WebAssembly smart contracts. The project enables the creation and management of digital assets, including the implementation of decentralized exchanges through distributed orderbooks and automated liquidity pools. It facilitates cross-border payment settlement by routing assets via path payments and bridging di
Verifies that a quorum slice has committed to the specific transaction set for ledger closure.