4 Repos
Sorted in-memory structures that buffer writes before persisting them to disk.
Distinct from Memory Buffering: Specifically refers to the sorted MemTable pattern used in LSM-trees, not general volatile memory buffering.
Explore 4 awesome GitHub repositories matching web development · Sorted Memory Buffers. Refine with filters or upvote what's useful.
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
Buffers recent writes in a sorted MemTable before flushing them to immutable disk tables.
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
Buffers incoming writes in a sorted memory structure (MemTable) before flushing them as immutable sorted string tables.
goleveldb ist eine eingebettete Key-Value-Speicherdatenbank für Go. Sie bietet lokale Datenpersistenz und Indizierung, wodurch Anwendungen Informationen mithilfe eindeutiger Schlüssel speichern und abrufen können, ohne einen separaten Server zu benötigen. Die Datenbank organisiert Daten mithilfe eines Log-Structured-Merge-Trees und persistenter Indizierung in lexikografischer Reihenfolge. Diese Struktur unterstützt effiziente Bereichsscans und präfixbasierte Suchen. Das System enthält Funktionen für atomare Batch-Schreibvorgänge, um Datenkonsistenz zu gewährleisten und Teil-Updates zu vermeiden. Die Performance wird durch Write-Ahead-Logging, speicherbasiertes Buffering und Bloom-Filter verwaltet, um unnötige Festplatten-I/O zu reduzieren.
Buffers recent writes in a sorted in-memory structure before flushing them to disk as immutable SSTables.
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.
Buffers writes in sorted in-memory structures before flushing them as immutable files to persistent storage.