11 dépôts
Mechanisms for managing state transitions and ensuring data integrity during concurrent updates.
Distinguishing note: Focuses on immutable data update strategies rather than general transaction management.
Explore 11 awesome GitHub repositories matching data & databases · Data Consistency Models. Refine with filters or upvote what's useful.
Qdrant is a high-performance vector similarity database designed to store, index, and search high-dimensional vectors alongside structured metadata. It functions as a distributed search engine that manages large-scale data clusters, providing low-latency retrieval and complex filtering capabilities. The system is built to serve as a specialized middleware layer, connecting machine learning pipelines and AI agents to persistent storage for intelligent information retrieval and recommendation tasks. The platform distinguishes itself through advanced retrieval techniques, including support for h
Manages updates to immutable data using copy-on-write operations to ensure consistency and read performance.
Memcached is a high-performance, distributed, in-memory key-value storage and request routing engine. It functions as a volatile data store designed to accelerate dynamic applications by caching objects in RAM, thereby reducing backend database load and providing sub-millisecond response times. The system utilizes a specialized architecture that organizes memory into fixed-size slabs to minimize fragmentation and maximize throughput for high-concurrency workloads. The project distinguishes itself through a multi-threaded, lock-friendly design that scales across CPU cores and supports complex
Prevents race conditions and ensures data integrity during concurrent read and write operations using version identifiers.
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
Controls how updates propagate to backup replicas using synchronous acknowledgments for durability or asynchronous updates for performance.
Cocoindex is an incremental data processing engine that builds and maintains live indexes for AI agents, with a core focus on codebase indexing and knowledge graph extraction. The engine uses a function-graph execution model where user-defined Python functions are composed into a directed acyclic graph, and it processes data incrementally so only changed source records or code paths are re-computed, avoiding full recomputation at any scale. It supports automatic schema inference from transformation pipeline type annotations and provides full data lineage tracing, tagging every output record wi
Implements data consistency models to ensure indexes converge correctly during concurrent updates.
Mimir est une base de données de séries temporelles multi-tenant et un magasin de métriques distribué conçu pour la télémétrie évolutive. Il sert de backend compatible avec Prometheus, fournissant un stockage à long terme et un moteur de requête évolutif pour des volumes massifs de données de séries temporelles. Le système est construit pour l'observabilité multi-tenant, isolant les données de télémétrie et les limites de ressources pour des équipes ou organisations indépendantes au sein d'un cluster unique. Il assure une haute disponibilité et durabilité en fragmentant et répliquant les données sur un cluster distribué, utilisant le stockage objet pour la persistance afin d'éliminer les dépendances aux bases de données externes. Le projet couvre de vastes capacités, incluant l'agrégation globale de métriques pour l'analyse inter-régions et l'exécution de requêtes distribuées via la parallélisation et la mise en cache. Il intègre également des outils d'observabilité tels que l'alerte fédérée, la surveillance synthétique et des flux de travail de résolution d'incidents pilotés par l'IA pour accélérer le dépannage. Les contrôles administratifs incluent des quotas de ressources par tenant, des surcharges de ressources par utilisateur et le shuffle-sharding pour l'isolation des charges de travail.
Verifies that all required data blocks were queried and retries missing requests to ensure result correctness.
Grafana Tempo is a high-scale distributed tracing backend and columnar trace database. It serves as an observability data store that persists and queries spans and traces using OpenTelemetry standards, allowing for the analysis of request flows across microservices. The system distinguishes itself by using an object-store based backend with columnar Parquet storage. This architecture enables efficient attribute searching and large-scale data retrieval through dedicated attribute columnization and block-based data partitioning. It includes a specialized TraceQL query engine for filtering trace
Writes traces to the backend and queries them back to ensure data integrity and retrieval consistency.
java-tron est une implémentation Java d'un nœud complet de la blockchain Tron. Il fournit l'infrastructure de base pour exécuter un nœud réseau, valider les transactions et produire des blocs. Le projet inclut un moteur de consensus proof-of-stake, une base de données de registre distribué et un runtime de contrat intelligent pour gérer les transitions d'état on-chain. Le système se distingue par sa prise en charge des opérations de nœud complet et léger, utilisant des instantanés d'état pour accélérer la synchronisation et réduire les exigences matérielles. Il dispose d'une abstraction de base de données multi-moteur qui permet la migration, le partitionnement et l'élagage du stockage sur différents disques physiques pour optimiser les performances. Le logiciel couvre un large éventail de capacités blockchain, incluant la gestion d'actifs numériques, la gouvernance réseau via des élections de représentants et l'exécution de logique programmable via une machine virtuelle. Il expose les données et fonctions blockchain via une passerelle prenant en charge les protocoles HTTP, gRPC et JSON-RPC. Le projet fournit des outils pour initialiser des nœuds réseau, déployer des environnements blockchain privés et gérer des keystores de compte chiffrés.
Calculates the Merkle root of the database to perform consistency checks across nodes.
RavenDB is a multi-model NoSQL document database designed for high-performance, ACID-compliant data storage. It persists structured information as schema-flexible JSON documents and utilizes a unit-of-work session pattern to track entity changes and batch modifications into atomic transactions. The platform is built on a distributed architecture that supports horizontal scaling through sharding and ensures high availability via multi-node, master-to-master cluster replication. The database distinguishes itself through a self-optimizing query engine that automatically creates and maintains ind
Uses transactional sessions to ensure atomic operations and reliable state management.
Trillian is a distributed, multi-tenant verifiable data store that maintains cryptographically verifiable logs and maps using Merkle tree structures. It functions as a scalable backend for transparency logs, providing a system where data integrity is ensured through append-only records and mathematical proofs of inclusion and consistency. The system distinguishes itself by decoupling core storage from application-specific logic through a personality layer, which handles admission criteria and data canonicalization. It employs a consensus-based leader election mechanism for high availability a
Provides the latest signed root of the Merkle tree to establish the current state and size of the log.
Ce projet est une plateforme d'apprentissage et un guide d'étude axé sur les principes des systèmes distribués et de l'architecture logicielle. Il fournit une collection de scénarios architecturaux et d'énoncés de problèmes techniques conçus pour aider les ingénieurs à pratiquer la conception système, la planification de capacité et l'analyse des compromis pour les services à haute échelle. Le dépôt se distingue en offrant des prototypes fonctionnels et des modèles pour des défis d'ingénierie complexes. Plutôt que de fournir une documentation purement théorique, il inclut des représentations exécutables de composants système — tels que des services de stockage, des équilibreurs de charge et des mécanismes de contrôle de concurrence — qui permettent aux utilisateurs de valider la logique architecturale, de mesurer les performances et d'observer comment différents choix de conception impactent le débit du système et la cohérence des données. Le contenu couvre un large éventail de préoccupations d'infrastructure et de niveau application, incluant la conception de schémas de base de données, la gestion de files d'attente de messages, la synchronisation d'état en temps réel et l'indexation spatiale. Il aborde également les exigences opérationnelles comme la distribution du trafic, l'optimisation de l'accès aux ressources et la surveillance, fournissant un framework complet pour comprendre comment construire des systèmes logiciels durables, disponibles et évolutifs.
Implements locking and consistency mechanisms to prevent data corruption and deadlocks in concurrent systems.
OpenViking is a multi-tenant context server and knowledge base administration system designed to provide AI agents with persistent long-term memory. It enables the indexing of diverse documents and codebases to support retrieval-augmented generation, allowing agents to recall past interactions, user preferences, and learned experiences across sessions. The project is distinguished by its use of a URI-based virtual filesystem to organize memories, resources, and skills. It implements a tiered context loading system that balances retrieval precision with token budgets by structuring data into a
Verifies data integrity by comparing filesystem content against vector indices for specific URI subtrees.