18 مستودعات
Systems that combine consensus algorithms and timestamp synchronization for consistent reads and writes.
Distinguishing note: No candidates provided; focuses on consistency guarantees.
Explore 18 awesome GitHub repositories matching data & databases · Strong Consistency Guarantees. 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
Provides serializable transactions by combining consensus algorithms with timestamp-based synchronization.
This project serves as a comprehensive technical reference for the architecture and design of data-intensive applications. It provides a structured analysis of the fundamental principles required to build reliable, scalable, and maintainable software systems, covering the core trade-offs inherent in modern data infrastructure. The repository explores the mechanics of distributed data management, including strategies for replication, partitioning, and achieving consensus across multiple nodes. It details the design of storage engines, indexing techniques, and transaction management models, whi
Ensures all clients see the most recent value for a data item immediately after a write.
This project is a feature-rich Go client library designed for interacting with Redis. It serves as a comprehensive interface for managing remote data stores, enabling developers to execute standard database commands, handle complex data structures, and perform asynchronous operations within Go applications. The library distinguishes itself through its support for advanced Redis capabilities, including connection pooling, pipelining, and transactional integrity. It provides specialized primitives for managing distributed clusters, including automated topology updates and request routing to sha
Blocks client operations until a specified number of replicas acknowledge data receipt to guarantee durability.
Sunflower is a reference implementation designed to demonstrate modern Android development patterns and industry-standard architectural practices. It serves as a comprehensive guide for building functional mobile applications by integrating declarative user interface toolkits with robust data management and navigation systems. The project distinguishes itself by showcasing the transition from legacy view-based systems to modern declarative frameworks. It provides a practical example of how to organize code into distinct layers, manage complex state, and implement dependency injection to ensur
Centralizes data ownership and mutation to ensure consistency and traceability across the application.
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
Prevents data divergence during concurrent writes by updating primary records and indexes within a single transaction.
This project is a TypeScript-based architectural framework designed to implement domain-driven design and hexagonal architecture in enterprise applications. It provides a structured boilerplate that isolates core business logic from infrastructure concerns, ensuring that domain entities, use cases, and external technology adapters remain decoupled and maintainable. The framework distinguishes itself by enforcing strict architectural boundaries and dependency inversion, preventing unauthorized access to core logic from external layers. It utilizes a command-query responsibility segregation pat
Encapsulates business logic and state transitions within a central object to maintain consistency and enforce domain-specific rules.
JuiceFS is a distributed file system designed to mount object storage as a local, POSIX-compliant drive. It functions as a cloud-native persistent storage layer that decouples file metadata from raw data, storing metadata in a transactional database while keeping data blocks in object storage. This architecture enables multiple hosts across different regions to access the same storage simultaneously while maintaining strong consistency. The system distinguishes itself by performing data processing, including compression and encryption, directly on the client side before transmission. By split
Guarantees immediate visibility of file changes across all connected servers.
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
Prevents data loss by ensuring only standbys with all confirmed transactions are promoted to primary.
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
Guarantees linearizability by routing writes through a leader and confirming them via a quorum.
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
Provides configurable consistency levels, allowing applications to choose between high availability and strong consistency.
Materialize is a streaming SQL database that continuously ingests live data from sources such as Kafka, Redpanda, PostgreSQL, and MySQL, and incrementally maintains materialized views. It provides a PostgreSQL-compatible query engine that accepts standard SQL over the PostgreSQL wire protocol, enabling any existing SQL client or BI tool to query real-time data. The system also includes a Model Context Protocol (MCP) server that exposes live materialized view data to AI agents, providing fresh context without polling. Materialize distinguishes itself through its ability to offer configurable c
Runs queries at a level that prevents dirty reads, non-repeatable reads, and phantoms without real-time ordering.
JanusGraph is a distributed, elastically scalable graph database designed to store and query highly connected data across a cluster of machines. It supports the property graph data model with ACID consistency and integrates multi-model search capabilities including geo, numeric range, and full-text queries. The database also includes a Graph OLAP engine for running batch analytics and global graph computations on large datasets using the Hadoop framework. The project distinguishes itself through a masterless cluster architecture that eliminates single points of failure, allowing every node to
Guarantees strictly consistent reads and writes for graph data when backed by a consistent store.
This is a JavaScript immutable data library used to create objects and arrays that prevent direct mutation. It serves as an immutable state manager and object wrapper designed to ensure data consistency by blocking modifications while remaining compatible with standard JavaScript syntax. The library functions as a converter that transforms standard mutable data into frozen structures and can convert them back for local modifications. This allows for a workflow where data is switched between immutable and mutable versions to perform bulk edits before locking the state again. The project provi
Implements patterns to ensure predictable application state by enforcing immutable data structures.
هذا المشروع هو تنفيذ مرجعي ونموذج معماري للتصميم القائم على النطاق (Domain-Driven Design). يعمل كقاعدة برمجية توضح كيفية مواءمة تصميم البرمجيات مع نطاق عمل محدد لإدارة منطق الأعمال المعقد. يعمل التنفيذ كنظام تقارير يستقبل ويعالج البيانات عبر حمولات JSON. يستخدم نموذج نطاق مهيكل لتعريف وأتمتة سير عمل الأعمال والتعامل مع تغييرات الحالة. تقسم البنية النظام إلى طبقات تطبيق ونطاق متميزة، باستخدام جذور التجميع (Aggregate Roots) للاتساق ونمط المستودع (Repository Pattern) للوصول إلى البيانات. تنسق خدمات التطبيق المهام وتفوض المنطق إلى كائنات النطاق لفصل البنية التحتية التقنية عن قواعد الأعمال.
Implements aggregate patterns to maintain consistency by restricting state changes to a single entry point.
Pigsty is a full-stack orchestration suite for deploying, monitoring, and managing high-availability PostgreSQL clusters and their supporting infrastructure. It functions as a cluster management platform and high-availability suite that automates failover, manages virtual IPs, and ensures data consistency through distributed consensus. The project distinguishes itself by providing a comprehensive database infrastructure-as-code framework and a dedicated observability stack. It incorporates a backup and recovery manager supporting point-in-time recovery via S3-compatible object storage, alongs
Configures synchronous standby and quorum commit modes to guarantee data durability by requiring replica confirmation.
يعمل هذا المشروع كمورد تعليمي شامل لتنفيذ المونوليثات المعيارية والخدمات المصغرة داخل بيئات .NET. يركز على تطبيق مبادئ التصميم الموجه بالمجال (domain-driven design) لإدارة منطق العمل المعقد، مما يوفر نهجاً منظماً لبناء أنظمة يمكن أن تتطور جنباً إلى جنب مع المتطلبات المتغيرة. يتم تعريف البنية بتركيزها على النمطية والحدود الواضحة، باستخدام شرائح رأسية وسياقات محدودة لتنظيم الكود حسب عملية العمل بدلاً من الطبقة التقنية. يتميز بإطار عمل ترحيل منهجي يسمح للمطورين بالانتقال من قاعدة كود متجانسة إلى خدمات مستقلة وموزعة. يتم تحقيق ذلك عن طريق استبدال الاتصال الداخلي بمراسلة قوية قائمة على الأحداث وضمان بقاء منطق المجال منفصلاً عن مخاوف الاستمرار والبنية التحتية. يغطي المشروع نطاقاً واسعاً من القدرات، بما في ذلك نمذجة المجال التكتيكية مع التجميعات والكيانات، واستراتيجيات الاختبار المؤتمتة باستخدام البنية التحتية المعبأة (containerized)، والحفاظ على سجلات القرارات المعمارية لتتبع تطور التصميم. كما يوفر أدوات لتنسيق التطوير المحلي والتحليل الثابت لفرض معايير الجودة عبر الوحدات المستقلة. يتم تنظيم المستودع كدليل عملي، يقدم منهجية خطوة بخطوة لتوسيع بنية البرمجيات بشكل تزايدي.
Encapsulates business logic and state transitions within a central object to maintain consistency.
This is an open-source framework for building stateful, durable AI agents that run on Cloudflare Workers. It provides a runtime for long-lived agents that maintain a persistent identity, local SQL storage, and real-time connections, utilizing a lifecycle where agents hibernate when idle and wake on demand. The project distinguishes itself through its multi-channel orchestration, allowing a single agent to be deployed across voice, email, and chat interfaces with unified state. It implements the Model Context Protocol for standardized tool and data exchange and includes a dedicated framework f
Maintains strongly consistent and serializable data that persists across requests.
Commanded is an Elixir framework designed for building event-sourced applications that utilize domain-driven design. It provides a structured environment for implementing command-query responsibility segregation, allowing developers to separate write-side command processing from read-side data projection. By treating state changes as an immutable sequence of events, the framework ensures a reliable audit trail and facilitates system recovery. The project distinguishes itself through its support for distributed process orchestration and event-driven middleware pipelines. It enables the managem
Retrieves the current state of an aggregate to verify that business logic correctly updated the domain model after command processing.