20 repository-uri
Transaction management mechanisms that enable lock-free reads and writes using data versioning.
Distinguishing note: No candidates provided; describes the core concurrency model.
Explore 20 awesome GitHub repositories matching data & databases · Multi-Version Concurrency Controls. Refine with filters or upvote what's useful.
etcd is a distributed key-value store and configuration store designed to maintain a consistent set of data across a cluster of nodes. It functions as a reliable registry for storing and synchronizing critical settings and metadata used by distributed applications. The system implements the Raft consensus algorithm to ensure data consistency and leader election across servers. To protect data transfers and verify node identities, it utilizes a network security layer based on mutual TLS and client certificates. Its capabilities cover distributed configuration management, cluster state synchro
Implements multi-version concurrency control to allow consistent snapshots and non-blocking read operations.
etcd is a distributed, strongly consistent key-value store designed to provide reliable storage for critical system metadata and coordination primitives. It functions as a distributed consensus engine, utilizing a replicated log and leader-based state machine to ensure that all nodes in a cluster maintain a synchronized view of data. By providing atomic operations and linearizable reads and writes, it serves as a foundational component for distributed systems requiring high availability and fault tolerance. The system distinguishes itself through its multi-version concurrency control, which e
Tracks historical data revisions to permit non-blocking read operations during concurrent write activity.
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
Enables lock-free reads and writes by maintaining multiple versions of data for consistent snapshots.
PostgreSQL is an object-relational database management system designed for the persistent storage and retrieval of structured information. It functions as an ACID-compliant database server, utilizing standard query language protocols to maintain data consistency and reliability across large-scale application datasets. The system distinguishes itself through an extensible architecture that allows for the definition of custom data types, operators, and indexing methods. It employs multi-version concurrency control to enable simultaneous read and write operations without blocking, supported by a
Maintains multiple versions of data rows to allow non-blocking read and write operations.
LibSQL is a high-performance, distributed SQL database engine that extends SQLite to support remote network access, edge computing, and real-time synchronization. It functions as an embedded database library that integrates directly into application processes while providing the infrastructure to maintain consistency across multiple geographic regions. The platform distinguishes itself by enabling database interaction over standard HTTP protocols, allowing applications to query remote data sources in serverless and edge environments without requiring local filesystem access. It includes nativ
Enables concurrent write operations across nodes without locking to improve throughput.
This is a mobile object database and NoSQL local data store that replaces relational tables with a schema-based model. It functions as a reactive data store, using live object observations and change notifications to trigger automatic user interface refreshes. The system provides built-in mobile cloud data synchronization to keep local datasets consistent with a remote server across multiple devices. It also includes security features for encrypted local storage, protecting sensitive on-disk data using at-rest encryption keys and fine-grained access control. Broad capabilities include object
Employs multi-version concurrency control to allow simultaneous reads and writes without blocking.
Realm-Cocoa is a NoSQL mobile database engine and reactive object database designed for local data storage on mobile devices. It serves as a non-relational alternative to Core Data and SQLite, storing data as objects rather than tables. The system functions as an encrypted local store that protects sensitive application data using encryption. It provides reactive data synchronization, allowing application objects and user interfaces to update automatically when the underlying database changes.
Utilizes multi-version concurrency control to allow simultaneous reads and writes without locking the database.
Bolt is a single-file embedded key-value store for Go applications. It is an ACID transactional database that organizes data in B+trees on disk to provide efficient sorted key retrieval and range scans. The system uses a memory-mapped model to map the database file directly into the process address space for fast random-access reads. The project distinguishes itself through a multi-version concurrency control architecture that allows multiple simultaneous readers to access a consistent snapshot of data without blocking a writer. It employs a single-writer multi-reader locking model and uses a
Uses lock-free multi-version concurrency control to allow simultaneous readers without blocking a writer.
KeyDB is a multithreaded in-memory key-value store and distributed cache. It functions as a NoSQL database utilizing multi-version concurrency control to execute non-blocking queries and scans. The project is a multithreaded fork of Redis that maintains protocol compatibility while utilizing a multithreaded architecture to scale across multi-core hardware. It distinguishes itself with flash-tiered storage, allowing the system to offload data from primary RAM to SSD or flash storage to increase total capacity. The system supports high availability through active-active mesh replication and mu
Utilizes multi-version concurrency control to allow non-blocking read operations during concurrent updates.
MySQL Server is a relational database management system designed to organize and store structured information. It functions as a comprehensive SQL server platform that provides reliable transactional integrity and high-performance query execution for enterprise data management. The system distinguishes itself through a pluggable storage engine architecture that decouples logical query processing from physical data storage, allowing for specialized handling of diverse workloads. It maintains data consistency and high concurrency through multi-version concurrency control and write-ahead logging
Maintains multiple versions of data rows to allow simultaneous read and write operations without blocking transactions during high-concurrency access.
Realm Java is a NoSQL mobile object database and reactive database engine. It provides a persistent local data store that saves native objects directly to disk, replacing traditional SQL storage and object-relational mapping layers. The system functions as a real-time data synchronizer, coordinating local database changes with a cloud backend across multiple devices. It integrates a reactive engine that uses change listeners and asynchronous event streams to automatically update user interfaces when underlying data changes. The project covers object-oriented data modeling, CRUD operations, a
Implements a multi-version concurrency control model to enable non-blocking read and write operations.
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
Explains the architecture of multi-version concurrency control for enabling simultaneous read and write access without blocking.
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
Utilizes multi-version concurrency control to provide snapshot isolation and ensure data integrity during concurrent operations.
This project is an open source relational database management system and SQL database designed for storing and managing structured data. It functions as a relational database for ensuring consistency and reliability, while also operating as a vector database for storing and querying high-dimensional vector embeddings. The system incorporates a columnar storage engine to optimize analytical query processing and large-scale data aggregation. It further enables vector similarity search, allowing users to find similar items by querying vector embeddings. The software covers a broad capability su
Uses multi-version concurrency control to enable non-blocking read and write operations.
CouchDB is a NoSQL document database that stores data as flexible documents and exposes a RESTful API for data management over HTTP. It functions as a distributed document store, synchronizing and replicating data across multiple nodes to ensure high availability and consistency. The system includes a full-text search engine that transforms database records into queryable documents, supporting sorting and pagination. Data synchronization is handled via multi-master replication, which exchanges revision histories to maintain consistency across distributed nodes. The database utilizes multi-ve
Uses multi-version concurrency control to track document revisions and enable non-blocking read and write operations.
MapDB este un motor de bază de date embedded și o bibliotecă de colecții susținută de disc care stochează colecțiile Java pe disc sau off-heap. Funcționează ca un motor local de procesare a datelor conceput pentru a gestiona seturi de date care depășesc memoria RAM fizică disponibilă. Proiectul utilizează stocarea datelor off-heap pentru a elimina overhead-ul de garbage collection și folosește caching-ul cu overflow pe disc pentru a echilibra utilizarea memoriei și a discului. Oferă utilitare specializate pentru filtrarea și analizarea unor volume mari de date locale pe o singură mașină. Sistemul asigură integritatea datelor prin tranzacții conforme ACID și controlul concurenței multi-versiune. Suportă map-uri, seturi și cozi persistente folosind indexare B-tree și un jurnal de tranzacții secvențial pentru durabilitate. Comportamentul sistemului și operațiunile motorului intern pot fi monitorizate prin niveluri de logare configurabile și formate de output.
Utilizes multi-version concurrency control to allow simultaneous non-blocking read and write operations.
H2 este un sistem de gestionare a bazelor de date relaționale compatibil JDBC, scris în Java. Funcționează ca o bază de date SQL embeddable care poate rula direct în procesul unei aplicații pentru a elimina latența rețelei, sau ca o bază de date în memorie pentru stocare volatilă de înaltă performanță. Include, de asemenea, o consolă bazată pe web pentru executarea comenzilor SQL și administrarea schemelor. Sistemul se caracterizează prin moduri de implementare flexibile, inclusiv un mod server standalone pentru acces TCP/IP la distanță și un mod mixt pentru conectivitate locală și la distanță simultană. Dispune de un strat de emulare a dialectelor și moduri de compatibilitate care îi permit să imite comportamentul și sintaxa altor sisteme de baze de date. Motorul oferă un set larg de capabilități, acoperind tranzacții ACID cu controlul concurenței multi-versiune (MVCC), suport pentru date geospațiale și JSON, precum și funcții analitice avansate de tip window. Include instrumente pentru conservarea datelor prin backup-uri comprimate, restaurarea scripturilor SQL și gestionarea memoriei off-heap pentru a manipula seturi mari de date. Baza de date se integrează cu aplicațiile folosind drivere standard Java Database Connectivity și URL-uri de conexiune.
Implements multi-version concurrency control to allow simultaneous non-blocking reads and writes via data snapshots.
MiniOB is an open-source educational relational database kernel designed for learning the internals of database systems. It implements a dual-engine storage architecture combining B+ Tree and LSM-Tree, supports SQL parsing and query execution, and provides transactional processing with multi-version concurrency control. The system communicates with clients using the MySQL wire protocol and includes a vector database extension for storing and querying high-dimensional vectors. The project distinguishes itself through its comprehensive coverage of core database concepts in a single, learnable c
Controls transaction commit, rollback, and isolation using multi-version concurrency control.
redb is an embedded key-value store and ACID-compliant storage engine. It functions as a persistent storage system for saving and retrieving data as key-value pairs within a tree structure. The engine is built as an MVCC transactional database, utilizing multi-version concurrency control to manage simultaneous reads and writes without blocking. It employs a single-writer multi-reader model to ensure data consistency while allowing multiple threads to access the store. The system provides persistent state management and atomic transaction management to prevent data corruption during crashes.
Allows multiple readers and a single writer to operate simultaneously using multi-version concurrency control.
Mini-LSM is an educational storage engine and key-value database library designed to demonstrate the implementation of log-structured merge-tree architecture. It serves as a pedagogical resource for understanding how to build high-performance storage systems from the ground up, focusing on the mechanics of persistent data structures and disk-based storage. The project provides a functional framework for managing data through memory-to-disk flushing and multi-version concurrency control. It distinguishes itself by implementing snapshot-based isolation, which allows for consistent views of the
Maintains multiple versions of data records to enable non-blocking read and write operations.