KDB
Database and version control in one engine
A database and a version control system, in one engine.
KDB holds three things under a single commit: whole JSON documents, returned exactly as you wrote them; opaque binary files — images, PDFs, archives — kept in a content-addressed blob store and described by a JSON metadata document you can query in SQL like any other; and the version history of both. One transaction writes the bytes, the metadata and the commit atomically, so a file and the record describing it cannot drift apart.
The database surface is a real one. Declare a schema and it becomes a typed, indexed
lens over your documents — never a constraint on what they may contain — giving
you KDB-SQL with joins, group-by, DML, DDL, views and GRANT/REVOKE,
a JDBC driver for your existing ORM and BI tools, hash, B-tree, full-text and vector
indexes, and stored procedures that run sandboxed inside the backend next to the data.
Raw JSON stays reachable from inside the same query.
Underneath, every namespace is a repository: a content-addressed commit DAG with branches, tags, checkout and diff, covering documents, schema and files together. History is cheap because unchanged content is shared by hash — including blobs, so fifty versions of a document set with one large unchanged attachment cost one copy of that attachment. Peers are equal: they diverge for as long as they like and merge when they choose, and a conflict is surfaced to the application rather than silently resolved.
The entire engine compiles to the browser, the JVM and native binaries from one Kotlin Multiplatform codebase, with a parallel Go implementation kept honest by cross-language wire golden tests.
- Kotlin Multiplatform
- Go
- SQL & JDBC
- Stored procedures
- Binary attachments
- Git-like history
- Vector index
- AGPL-3.0
// JVM — JDBC, in-memory
Class.forName("dev.kdb.jdbc.KdbDriver");
Connection c = DriverManager.getConnection("jdbc:kdb:memory:///demo/users");
// Go — database/sql
db, _ := sql.Open("kdb", "kdb://memory:///demo/users?unique=true")
Early implementation — the spec, the engine and the tooling are public and moving.
Read more about KDB