How mo5ul/javedb works
JaveDB is an embedded Java key-value database with an LSM-tree storage engine. The main workflow is a user operating the console, which calls the database API to write, read, or delete entries; writes are documented as going through the WAL and MemTable before SSTable flush, while reads consult in-memory and persisted data. The README also documents compaction, a runtime dashboard and health monitor, and a benchmark suite. Central engine wiring is based on README and CLI evidence; the JaveDB implementation itself was not sampled.
Main entry points: ConsoleShell.java Console shell · JaveDB.java JaveDB API · SSTableReader.java SSTable reader · sstable Immutable SSTables
Components 16
User interface
- Console shell
src/main/java/io/github/mohul/cli/ConsoleShell.java
Database engine
- JaveDB API
src/main/java/io/github/mohul/db/JaveDB.java
LSM storage
- Write-ahead log
src/main/java/io/github/mohul/wal/WALManager.java - MemTable
src/main/java/io/github/mohul/memtable/MemTable.java - SSTable writer
src/main/java/io/github/mohul/sstable/SSTableWriter.java - SSTable reader
src/main/java/io/github/mohul/sstable/SSTableReader.java - Immutable SSTables
src/main/java/io/github/mohul/sstable - Bloom filter
src/main/java/io/github/mohul/sstable/BloomFilter.java - Sparse index
src/main/java/io/github/mohul/sstable/IndexEntry.java - Compaction
src/main/java/io/github/mohul/db/JaveDB.java
Observability
- Database summary
src/main/java/io/github/mohul/observability/info/DatabaseSummary.java - Health monitor
src/main/java/io/github/mohul/observability/health - Engine event log
src/main/java/io/github/mohul/observability/event/EngineEventLog.java
Benchmarking
- Performance suite
src/main/java/io/github/mohul/benchmark/PerformanceSuite.java - Benchmark report
src/main/java/io/github/mohul/benchmark/ReportGenerator.java
Other components
- Database user
Connections 17
- Database user → Console shell: operates
- Console shell → JaveDB API: calls
- Console shell → Performance suite: runs
- JaveDB API → Write-ahead log: appends and replays
- JaveDB API → MemTable: updates and queries
- JaveDB API → SSTable writer: flushes through
- SSTable writer → Immutable SSTables: writes
- JaveDB API → SSTable reader: reads through
- SSTable reader → Immutable SSTables: reads
- SSTable reader → Bloom filter: checks membership
- SSTable reader → Sparse index: searches
- JaveDB API → Compaction: coordinates
- Compaction → Immutable SSTables: compacts
- Console shell → Database summary: displays
- Console shell → Health monitor: displays
- Console shell → Engine event log: displays
- Performance suite → Benchmark report: generates