13 Repos
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 ist eine verifizierbare SQL-Proof-Engine und kryptografische Bibliothek, die für verifizierbare SQL-Berechnungen entwickelt wurde. Sie ermöglicht die Ausführung von Datenbankabfragen off-chain, während Zero-Knowledge-Proofs generiert werden, die die Korrektheit der Ergebnisse für die on-chain-Verifizierung zertifizieren. Das Projekt zeichnet sich durch einen GPU-beschleunigten Proof-Accelerator aus, der rechenintensive kryptografische Workloads auf Grafikprozessoren auslagert und so die für die Generierung prägnanter Proofs erforderliche Zeit reduziert. Es bietet hochperformante kryptografische Primitive für C++- und Rust-Anwendungen, mit Fokus auf elliptische Kurvenoperationen und Multi-Skalar-Multiplikation. Das System deckt eine breite Fläche an Datenmanagement und Sicherheit ab, einschließlich trustless Datenintegration, die Blockchain-Indizierung mit off-chain-Datensätzen zu manipulationssicheren relationalen Tabellen kombiniert. Es nutzt BFT-Konsens und Threshold-Signaturen zur Aufrechterhaltung der Statusintegrität, neben Mechanismen für Quorum-basierte Datensynchronisation und verifizierte Ergebniszustellung via Smart-Contract-Callbacks. Die Codebasis bietet native Bindings für C++ und Rust, um ihre kryptografischen Toolsets und Proof-Berechnungsbibliotheken offenzulegen.
Uses a fault-tolerant protocol and threshold signatures to ensure data modifications are validated by a decentralized quorum.
Zeebe ist eine Cloud-native Workflow-Engine und eine verteilte Zustandsmaschine, die für die Orchestrierung von Geschäftsprozessen unter Verwendung von BPMN- und DMN-Standards konzipiert wurde. Sie arbeitet als hochperformante gRPC-Workflow-Runtime, die komplexe Geschäftsprozesse durch eine partitionierte Event-Streaming-Architektur ausführt. Das System fungiert zudem als Orchestrator für Large-Language-Model-Agenten und koordiniert KI-Reasoning und Tool-Nutzung innerhalb deterministischer Geschäftsprozesse. Die Engine zeichnet sich durch ihr Peer-to-Peer-Broker-Networking und ein konsensbasiertes Datenreplikationsmodell aus, das hohe Verfügbarkeit und Fehlertoleranz sicherstellt. Sie setzt einen partitionierten Broker-Cluster ein, um horizontale Skalierbarkeit zu erreichen, und nutzt adaptives Request-Backpressure, um den eingehenden Befehlsfluss zu regulieren und Systemüberlastungen zu verhindern. Die Plattform deckt ein breites Spektrum operativer Funktionen ab, einschließlich Echtzeit-Ausführungsüberwachung mit Performance-Heatmaps, automatisierter Geschäftsentscheidungsfindung über Entscheidungstabellen und verteilter Task-Ausführung durch ein polling-basiertes Job-Worker-Modell. Sie bietet zudem Tools für Multi-Tenant-Ressourcenisolierung, identitätsbasierte Zugriffskontrolle und die Integration externer Web-APIs und serverloser Funktionen. Das System kann über verschiedene Umgebungen hinweg bereitgestellt werden, einschließlich Kubernetes und Docker, und wird über eine Kombination aus Kommandozeilenschnittstelle und programmatischer REST-API verwaltet.
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.