4 dépôts
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 est une base de données de stockage clé-valeur embarquée pour Go. Elle fournit une persistance et une indexation des données locales, permettant aux applications de stocker et de récupérer des informations en utilisant des clés uniques sans nécessiter de serveur séparé. La base de données organise les données en utilisant un arbre de fusion structuré en journal (LSM-tree) et une indexation persistante dans l'ordre lexicographique. Cette structure prend en charge les scans de plage efficaces et les recherches basées sur les préfixes. Le système inclut des capacités pour les écritures par lots atomiques afin d'assurer la cohérence des données et d'éviter les mises à jour partielles. Les performances sont gérées via le write-ahead logging, la mise en mémoire tampon et les filtres de Bloom pour réduire les entrées/sorties disque inutiles.
Buffers recent writes in a sorted in-memory structure before flushing them to disk as immutable SSTables.
Mini-LSM est un moteur de stockage éducatif et une bibliothèque de base de données clé-valeur conçus pour démontrer l'implémentation de l'architecture log-structured merge-tree (LSM). Il sert de ressource pédagogique pour comprendre comment construire des systèmes de stockage haute performance à partir de zéro, en se concentrant sur la mécanique des structures de données persistantes et du stockage sur disque. Le projet fournit un framework fonctionnel pour gérer les données via le vidage (flushing) de la mémoire vers le disque et le contrôle de concurrence multi-version. Il se distingue par l'implémentation d'une isolation basée sur des instantanés (snapshots), qui permet des vues cohérentes de l'état de la base de données lors d'opérations concurrentes, et utilise des stratégies de compactage par niveaux pour organiser les fichiers de données et optimiser les performances de lecture. Le moteur couvre un large éventail de capacités de gestion du stockage, notamment la journalisation en écriture anticipée (write-ahead logging) pour la récupération après crash et l'indexation probabiliste pour minimiser les entrées/sorties disque. Il inclut également une suite d'utilitaires de vérification et d'outils de test destinés à valider l'intégrité des opérations de stockage et à aider au diagnostic des problèmes liés à la concurrence.
Buffers writes in sorted in-memory structures before flushing them as immutable files to persistent storage.