4 Repos
Hierarchical merging processes that organize sorted files across multiple levels to optimize space and write amplification.
Distinct from Multi-level Caching: Focuses on the merging and reorganization of LSM-tree files rather than cache synchronization levels.
Explore 4 awesome GitHub repositories matching data & databases · Tiered Compaction Strategies. Refine with filters or upvote what's useful.
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
Merges smaller sorted files into larger ones across multiple levels to reclaim space and minimize write amplification.
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
Automatically merges and rewrites sorted runs across multiple levels in the background to reclaim space.
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
Implements level-based compaction to merge overlapping sorted runs and bound read amplification.
Mini-LSM ist eine pädagogische Storage-Engine und Key-Value-Datenbankbibliothek, die dazu dient, die Implementierung der Log-Structured-Merge-Tree-Architektur zu demonstrieren. Sie dient als pädagogische Ressource zum Verständnis des Aufbaus hochperformanter Speichersysteme von Grund auf, mit Fokus auf die Mechanik persistenter Datenstrukturen und diskbasierter Speicherung. Das Projekt bietet ein funktionales Framework zur Datenverwaltung durch Memory-to-Disk-Flushing und Multi-Version-Concurrency-Control. Es zeichnet sich durch die Implementierung von Snapshot-basierter Isolation aus, die konsistente Sichten auf den Datenbankzustand während gleichzeitiger Operationen ermöglicht, und nutzt Leveled-Compaction-Strategien zur Organisation von Datendateien und zur Optimierung der Lese-Performance. Die Engine deckt ein breites Spektrum an Speicherverwaltungsfunktionen ab, einschließlich Write-Ahead-Logging für Crash-Recovery und probabilistischer Indizierung zur Minimierung von Disk-I/O. Sie enthält zudem eine Suite von Verifizierungs-Utilities und Test-Tools, die darauf ausgelegt sind, die Integrität von Speicheroperationen zu validieren und bei der Diagnose von Concurrency-Problemen zu helfen.
Organizes data files into distinct levels and merges them to reclaim space and maintain read performance bounds.