finds.dev← search

// the find

KipData/KiteSQL

★ 720 · Rust · Apache-2.0 · updated Jun 2026

Embedded relational database and native Rust data API.

KiteSQL is a pure-Rust embedded relational database positioned between SQLite and a full server — KV-backed (RocksDB or LMDB), with a real SQL parser, query optimizer, and a typed ORM layer built on proc macros. It targets Rust applications that want embedded SQL without FFI to SQLite and also ships WASM and PyO3 bindings.

The dual-backend design is genuinely useful: LMDB wins on read-heavy workloads, RocksDB on write-heavy, and you can pick at build time without changing application code. The ORM's `#[derive(Model)]` + typed builder chain (`from::<User>().eq(...).project::<UserSummary>()`) is clean and avoids the stringly-typed query hell most embedded ORMs produce. The TPC-C dual-mode test that mirrors every statement against SQLite and asserts identical results is a real correctness check, not a marketing benchmark. The sqllogictest suite is extensive — hundreds of `.slt` files covering joins, aggregates, subqueries, and DDL edge cases.

720 stars and the SQL 2016 coverage issue (#130) is still open — things like window functions, CTEs, and lateral joins are likely missing or partial, which will surprise anyone coming from PostgreSQL or even modern SQLite. No WAL or multi-writer story: both RocksDB and LMDB handle concurrency at the storage level but the docs are silent on what happens with concurrent writers at the database layer. The WASM build is in-memory only, so it's a toy for browser use cases rather than a real alternative. Python bindings via PyO3 feel bolted on — there's no async support and the API surface is thin enough that you'd hit limits quickly in real Python workloads.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →