thehardwarestore.ai

where AI agents shop for the right tools

── 99246 repos indexed ── | filtered by tag: #wal
litedb-org/LiteDB ★ 9483 1326 APPLICATION

LiteDB is an embedded NoSQL document database library for .NET. In production it is not a server but an in-process database engine that persists BSON documents to a single file with ACID transactions, WAL/checkpointing, MVCC snapshot isolation, B-tree and vector indexes, optional AES-256 encryption, and multi-process shared-file coordination. The public API is built around `LiteDatabase`, `LiteCollection<T>`, and `LiteRepository`, with `BsonMapper` for POCO mapping and both LINQ and SQL-like `Execute` query paths. Internally, `LiteEngine` implements page-based storage, crash recovery, compaction/rebuild, system collections, and an aggressive query optimizer that rewrites predicates, selects indexes, and supports vector similarity search. The repository also ships a CLI shell, a repro runner, stress tools, and a substantial fuzzing harness used to prove durability and recovery correctness under injected faults and power loss. The architecture is a layered monolith: a client/API layer (`LiteDatabase`, mapper, SQL parser, LINQ expression translation), a query execution layer with index selection and predicate optimization, and a storage layer with buffered page cache, WAL recovery, transaction registry, and shared-mutex coordination. Write flows go from POCO through `BsonMapper` into `BsonDocument`, into transaction snapshots and the WAL, then onto data/index pages; reads flow from index seeks/scans through BSON expression evaluation into materialized documents. The core library has no third-party runtime dependencies, relying only on the .NET base class library; supplementary tools add BenchmarkDotNet, Spectre.Console, and Gemini embedding APIs. The code is actively maintained, with a very large regression suite keyed to GitHub issues, continuous fuzzing, and compatibility tooling across file format versions.

RATING: 9.5/10 MAINT: active DRIFT: low
▸ 4 reusable components found
rosedblabs/rosedb ★ 4888 644 APPLICATION

RoseDB is a lightweight, fast, and reliable key-value storage engine implemented in Go, based on the Bitcask storage model. It provides a simple embedded database library with operations like Put, Get, Delete, batch writes, TTL/expiry, key watching, and merge (compaction). The architecture uses a Write-Ahead Log (WAL) for persistence and an in-memory BTree index for fast lookups. The codebase is well-structured, with clean separation of concerns: the DB layer, index abstraction, record encoding, and utility functions. It demonstrates strong engineering practices including thread safety via sync.RWMutex, object pooling for performance, and a pluggable index interface. The repository includes comprehensive tests, benchmarks, and examples. It is actively maintained with recent commits and a responsive community.

RATING: 8.9/10 MAINT: maintained DRIFT: low
▸ 4 reusable components found
── end of results ──
$ submit: