the name

Why the Project Is Called KvSQL

The name is the design, spelled out. KV for key-value, SQL for SQL, written together because in this database they aren’t two systems glued side by side. They’re two ways into one store.

The lower-case v is on purpose. Kv reads as one small syllable in front of the three letters everybody knows, and it keeps the name from turning into a row of capitals. Say it “K-V-S-Q-L”, or “kv sequel” if you prefer; both are fine.

The word KvSQL with Kv in teal over the words key-value and SQL in navy over the word SQL. Two ways into one store: a key for the fast path, SQL for the questions.

Kv for the fast path by key, SQL for the questions, one store under both.

Two Names for Two Products

The project ships as two products with plain names. KvSQL Engine is the library, the part that stores, commits and answers. KvSQL DB is the database server and shell built on it. The programs are kvsqld, where the d stands for daemon as it does in many Unix servers, and kvsql, the shell.

What the Name Promises

A name with SQL in it promises SQL, and KvSQL means it: the answers are checked against SQLite on random statements. A name with KV in it promises a fast path by key, and that one is measured too. In the benchmark, a row read by key skipped the parser and came back in 1.56 µs. That’s against 3.59 µs for the same row through KvSQL’s SQL, on the same machine and the same file.