{"repo":"theuntamed839/DataStore4J","free":true,"listed":false,"github":"https://github.com/theuntamed839/DataStore4J","clone":"git clone https://github.com/theuntamed839/DataStore4J.git","description":"DataStore4J: A thread-safe, high-performance key-value data store built on an LSM-tree architecture, inspired by LevelDB","language":"Java","stars":18,"topics":["database","datastore","key-value","kv","lsm-tree"],"license":"MIT","category":"databases-storage","readme_excerpt":"DataStore4J A thread-safe, high-performance key-value store, built on an LSM-tree architecture inspired by LevelDB, and written entirely in Java. Features: Implemented entirely in Java (no JNI or native code). Thread-safe with concurrency support. Zero-configuration, fully embeddable library. Supports memory-mapped files for efficient OS-level management and FileChannel-based I/O for portability Uses Arena to map and unmap memory-mapped files, avoiding potential memory leaks. Uses Write-Ahead Logging (WAL) before memtable flush Getting started: It is available in Maven Central as io.github.theuntamed839:DataStore4J. Maven: Gradle: implementation(\"io.github.theuntamed839:DataStore4J:0.1.0\") Requirement: Java 22 or higher Usage: Docs: Benchmarks Database Configuration Options DB internals and Design Limitations: Potential crash during compaction while adding files to the table, which may leave the database in an inconsistent state. Large keys (or occasional insertions of unusually large keys) can remain resident in memory if they happen to occupy critical pointer positions. Reader objects are managed without an LRU cache, which may lead to suboptimal memory utilization for large datasets. Planned Improvements 1. [ ] Replace the current Guava dependency with a custom internal Bloom filter implementation to minimize external dependencies. 2. [ ] Introduce smarter caching and eviction strategies for reader objects (e.g., LRU or adaptive policies). 3. [ ] Enhance crash recovery mec","default_branch":null,"files":null,"tree":[],"storefront":"/r/theuntamed839","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/theuntamed839/DataStore4J/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}