For programme sur le fonctionnement interne des bases de données, the strongest matches are cmu-db/bustub (Bustub is a purposely-built educational relational database engine from), microsoft/faster (FASTER is a production-grade key-value storage engine with disk-backed) and rosedblabs/rosedb (RoseDB is a persistent key-value storage engine written in). spacejam/sled and oceanbase/miniob round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
Explorez des implémentations open source de moteurs de stockage, de structures d'indexation et d'architectures fondamentales de systèmes de gestion de bases de données.
This is an educational relational database engine used in Carnegie Mellon University's database systems course. Students learn internals by implementing core components of a working database, including storage, indexing, concurrency control, and crash recovery. The system covers key database architecture: a B+ tree index for fast key-based lookups and range scans, a disk-oriented buffer pool that caches pages from disk, an iterator-based query execution model that composes physical operators, page-based storage for records, two-phase locking for coordinating concurrent transactions, and write
Bustub is a purposely-built educational relational database engine from CMU's database course that covers storage, indexing, concurrency control, and crash recovery, making it an ideal hands-on learning resource for database internals.
FASTER is a high-throughput key-value store that combines an in-memory data store with a hybrid memory-disk storage engine, enabling datasets larger than available RAM. It uses a latch-free, cache-optimized index for concurrent point lookups and heavy updates, and records all mutations to a persistent append-only log on disk with checksum validation and group-commit checkpointing for crash recovery. The system supports multi-key transactional workloads through atomic multi-key locking, ensuring transactional consistency without coarse-grained contention. It exposes the key-value store to remo
FASTER is a production-grade key-value storage engine with disk-backed persistence, write-ahead logging, and multi-key transactional locking, which fits the category but is narrower than a general relational database engine—it uses a hash-table index instead of a B-tree and does not include SQL parsing or an interactive query shell.
RoseDB is a persistent key-value database and log-structured storage engine. It functions as a lightweight storage system that utilizes a log-structured hash table and a Bitcask engine implementation to provide fast data retrieval and disk-backed persistence. The system operates as an atomic transaction engine, grouping multiple read and write operations into single units to maintain data consistency. It handles data through a key-value model that supports individual insertions, lookups, and deletions. The database provides capabilities for batch data processing and atomic updates. Additiona
RoseDB is a persistent key-value storage engine written in Go, using a log-structured (Bitcask) design with atomic transactions and disk-backed persistence, making it a valid database internals implementation—though it focuses on key-value storage rather than B-tree indexing or SQL parsing.
Sled is an embedded key-value store and ACID-compliant database designed for high-performance data persistence. It functions as a log-structured storage engine that organizes data using B+ trees to support efficient range queries and prefix scans. The engine implements a zero-copy data store model, utilizing epoch-based reclamation to provide direct references to cached values without memory allocations. It distinguishes itself through a combination of write-ahead logging, page cache optimizations to reduce write amplification on flash storage, and serializable transactions for atomic multi-k
Sled is a production-grade embedded key-value store and ACID-compliant database engine that implements B+ trees, write-ahead logging, and lock-free concurrency — squarely fitting the storage-engine category, though it lacks SQL parsing and relational metadata management, and is more a robust engine than a minimal educational project.
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
MiniOB is an educational relational database kernel that implements core storage engine concepts including B+ Tree indexing, SQL parsing, transaction processing with MVCC, and MySQL compatibility, making it an ideal learning resource for database internals.
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
Bolt is a compact embedded key-value store that implements a B+tree index, ACID transactions with MVCC concurrency, and a memory-mapped storage model — making it a clear introductory example of storage engine internals, though it is limited to key-value storage and lacks SQL parsing or relational metadata management.
RocksDB is a high-performance, embeddable persistent key-value library and storage engine based on Log-Structured Merge-trees. It is designed to provide durable storage for large-scale datasets, integrating directly into applications to manage data on flash and RAM-based hardware. The engine is distinguished by its focus on minimizing read and write amplification through multi-threaded compaction and custom memory allocators. It features specialized optimizations for flash storage, including support for zoned block devices, and provides the ability to extend store behavior via external plugin
RocksDB is a production-grade embeddable key-value storage engine that implements core storage-engine concepts like write-ahead logging, compaction, and caching, but it uses an LSM-tree rather than a B-tree and lacks SQL parsing or an interactive query shell, so it fits the storage engine implementation category while being narrower in scope for educational study.
Badger is an embeddable key-value store written in Go that provides persistent data storage for byte keys and values. It is a persistent database that utilizes a tiered LSM tree storage model to optimize disk storage and retrieval efficiency. The system features an ACID transaction engine that ensures data integrity through serializable snapshot isolation and multi-version concurrency control. It also provides an encrypted key-value store with data-at-rest encryption and a managed encrypted key registry to secure stored information. The engine covers a broad set of capabilities including hig
Badger is a production-grade embeddable key-value store built on an LSM tree with ACID transactions, making it a real storage engine implementation, but its focus on key-value storage and lack of SQL parsing or interactive shell mean it doesn't cover the full list of educational relational-database internals you're seeking.
bbolt is an ACID-compliant embedded key-value store for Go applications. It persists all data in a single memory-mapped file on disk, organizing information using B+ trees to facilitate sorted key iteration and efficient range queries. The project distinguishes itself through a hierarchical data organization model, allowing buckets to be nested within other buckets to create a tree-like structure. It employs a single-writer, multi-reader locking mechanism and copy-on-write transactions to ensure serializable isolation and data integrity. The system includes comprehensive data management capa
bbolt is a real embedded key-value storage engine with B+ tree indexing and ACID transactions, squarely fitting the category of storage engine implementation, though it omits SQL parsing, a query shell, and buffer pool management, narrowing its scope to a key-value model rather than a full relational database.
Pebble is an embedded key-value storage engine written in Go, designed as a library that provides durable, write-optimized data persistence directly within applications. It organizes data using a log-structured merge-tree (LSM-tree) structure, where writes are first buffered in an in-memory skiplist memtable and persisted to a write-ahead log before being flushed to block-based SSTable files on disk. The engine supports atomic batch commits, configurable write synchronization, and automatic background compaction that merges and rewrites sorted runs to reclaim space and maintain read performanc
Pebble is a production-grade embedded key-value storage engine that demonstrates core internals like LSM-tree structure, write-ahead logging, and compaction, making it a relevant real-world example of storage engine design, though it lacks SQL parsing, B-tree indexing, and an interactive query shell for hands-on learning.
Cassandra is a distributed NoSQL database and wide-column store designed for high availability and linear scalability. It functions as a fault-tolerant distributed system that utilizes an LSM-tree storage engine to optimize write throughput and manage massive datasets. The system is a CQL-compliant database, using a structured query language to manage and retrieve tabular data stored across multiple nodes. It organizes information into rows and columns based on a flexible schema and primary keys. The project provides capabilities for horizontal database scaling, distributed data partitioning
Cassandra is a full-scale distributed database with an LSM-tree storage engine, which fits the general category of storage engine implementations but is a production system rather than the minimal educational project this search prioritizes.
LevelDB is an embedded database library and persistent storage engine that provides a sorted key-value store. It uses a log-structured merge-tree architecture to map byte arrays to values, running directly within a process to provide storage without the need for a separate server process. The system is distinguished by its use of custom comparison functions to define key ordering, enabling efficient range scans and sequenced lookups. It ensures data reliability through atomic batch execution, consistent snapshot generation, and log-based recovery after failures. The engine covers broad capab
LevelDB is a production-grade embedded key-value storage engine that implements core internals like log-structured merge-trees and write-ahead logging, making it a genuine storage engine implementation, though it lacks SQL parsing, B-tree indexing, and many of the other listed features.
| Dépôt | Stars | Langage | Licence | Dernier push |
|---|---|---|---|---|
| cmu-db/bustub | 4.9K | C++ | mit | |
| microsoft/faster | 6.6K | C# | mit | |
| rosedblabs/rosedb | 4.9K | Go | Apache-2.0 | |
| spacejam/sled | 8.9K | Rust | apache-2.0 | |
| oceanbase/miniob | 4.3K | C++ | mulanpsl-2.0 | |
| boltdb/bolt | 14.6K | Go | MIT | |
| facebook/rocksdb | 31.8K | C++ | GPL-2.0 | |
| dgraph-io/badger | 15.7K | Go | Apache-2.0 | |
| etcd-io/bbolt | 9.6K | Go | MIT | |
| cockroachdb/pebble | 5.8K | Go | bsd-3-clause |