12 dépôts
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 12 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 est un moteur de preuve SQL vérifiable et une bibliothèque cryptographique conçue pour le calcul SQL vérifiable. Il permet l'exécution de requêtes de base de données hors chaîne tout en générant des preuves à divulgation nulle de connaissance (zero-knowledge proofs) qui certifient l'exactitude des résultats pour une vérification sur chaîne. Le projet se distingue par un accélérateur de preuve accéléré par GPU qui décharge les lourdes charges de travail cryptographiques vers les processeurs graphiques, réduisant le temps requis pour la génération de preuves succinctes. Il fournit des primitives cryptographiques haute performance pour les applications C++ et Rust, se concentrant sur les opérations de courbe elliptique et la multiplication multi-scalaire. Le système couvre une large surface de gestion de données et de sécurité, incluant l'intégration de données sans confiance qui combine l'indexation blockchain avec des jeux de données hors chaîne dans des tables relationnelles inviolables. Il utilise le consensus BFT et les signatures à seuil pour maintenir l'intégrité de l'état, parallèlement à des mécanismes pour la synchronisation de données basée sur le quorum et la livraison de résultats vérifiés via des callbacks de smart contract. La base de code fournit des liaisons natives pour C++ et Rust afin d'exposer ses ensembles d'outils cryptographiques et ses bibliothèques de calcul de preuve.
Uses a fault-tolerant protocol and threshold signatures to ensure data modifications are validated by a decentralized quorum.
Zeebe est un moteur de flux de travail cloud-native et une machine à états distribuée conçue pour l'orchestration des processus métier en utilisant les normes BPMN et DMN. Il opère comme un runtime de flux de travail gRPC haute performance qui exécute des processus métier complexes via une architecture de streaming d'événements partitionnée. Le système fonctionne également comme un orchestrateur pour les agents de modèles de langage de grande taille, coordonnant le raisonnement de l'IA et l'utilisation d'outils au sein de processus métier déterministes. Le moteur se distingue par son réseau de courtiers peer-to-peer et un modèle de réplication de données basé sur le consensus qui garantit une haute disponibilité et une tolérance aux pannes. Il emploie un cluster de courtiers partitionné pour atteindre une scalabilité horizontale et utilise une contre-pression de requête adaptative pour réguler le flux de commandes entrant et prévenir la surcharge du système. La plateforme couvre une large surface de capacités opérationnelles, incluant la surveillance de l'exécution en temps réel avec des cartes thermiques de performance, la prise de décision métier automatisée via des tables de décision et l'exécution de tâches distribuées via un modèle de travailleur de tâches basé sur le polling. Elle fournit également des outils pour l'isolation des ressources multi-locataires, le contrôle d'accès basé sur l'identité et l'intégration d'API web externes et de fonctions sans serveur. Le système peut être déployé à travers divers environnements, incluant Kubernetes et Docker, et est géré via une combinaison d'une interface en ligne de commande et d'une API REST programmatique.
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.
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.