Vibeleaderboard
Index / tool
Visit github.com
Category
Developer Tools
Rank

Previous survey · No. 785 ·

Pricing
Open Source
Type
TOOL
Builder
denoland
GitHub
653 stars
Latest release
0.14.0
Date

About

Self-hosted backend for Deno KV, a SQLite-backed key-value store that lets you run Deno's distributed KV API on your own infrastructure.

What it does

Deno KV lets many Deno processes share one database over an authenticated network connection. The server accepts reads, atomic writes, expiration, and watch requests, then persists data through SQLite. It can also synchronize a read-only replica from an S3 backup and expose point-in-time recovery controls.

Why it's ranked here

The tool makes a strong case when an application already uses Deno KV and needs shared state under its own operational control. It preserves nearly the full remote API, supports ACID transactions, and ships practical deployment options. Its narrow ecosystem fit and stateful operating model keep it from being a general backend choice.

What's good

The server supports reads, writes, deletes, listing, atomic checks and numeric mutations, expiration, and watches over the remote protocol. SQLite provides the storage layer, while non-blocking I/O targets heavy connection concurrency. Docker, prebuilt binaries, source installation, S3 replica synchronization, and recovery-point tooling give operators several workable paths.

Tradeoffs

Remote connections cannot use queues because the network protocol excludes queue operations. The server speaks plain HTTP, so production deployments need a TLS-terminating proxy. Storage must remain persistent, and the documented VPS setup must not scale beyond one instance. Operators also own updates, backups, maintenance, access-token handling, and proxy configuration.

How to use it well

Choose it for Deno applications whose processes need shared KV state and whose team can operate a persistent service. Run it statefully, mount durable storage, protect traffic with TLS, and plan backups before production use. Keep the built-in local backend for development and testing. Choose hosted Deno KV when you do not want operations work, and do not depend on remote queues.

Technical notes+

Cargo.toml defines a Rust workspace with denokv, proto, remote, sqlite, and timemachine members. denokv/main.rs builds an Axum HTTP server with metadata, snapshot-read, atomic-write, and watch routes, validates bearer tokens with constant-time comparison, opens SQLite in read-write or read-only mode, and drives S3 synchronization plus point-in-time recovery. denokv/config.rs exposes serve and pitr CLI trees with environment-backed settings. remote/lib.rs implements KV Connect metadata refresh, protocol negotiation, Protobuf transport, retry behavior, and streamed responses. sqlite/lib.rs separates one write worker from optional read workers and coordinates watches and local queue processing. proto/convert.rs enforces key, value, range, mutation, queue, and watch limits before converting protocol messages. proto/build.rs generates checked-in Protobuf modules referenced by proto/protobuf.rs.

Observed

License
MIT
Primary language
Rust
Packaging
Docker image, prebuilt binary, and Cargo source installation
Interfaces
Command-line server and recovery tools, plus authenticated HTTP KV Connect API
Deployment support
Stateful VPS or Kubernetes deployment with persistent storage; documented single-instance VPS constraint
Repository structure
Cargo workspace with five members: server, protocol, remote client, SQLite backend, and time-machine tooling

Read from README.md, Cargo.toml, proto/lib.rs, remote/lib.rs, sqlite/lib.rs, proto/time.rs, denokv/main.rs, proto/build.rs, proto/codec.rs, remote/time.rs, sqlite/time.rs, proto/limits.rs, denokv/config.rs, proto/convert.rs, proto/protobuf.rs.

What it can do

  • Store key-value pairs in SQLite database

    Key-value data pairsPersistent data storage

  • Retrieve values by key from database

    Database keyStored value

  • Delete key-value pairs from storage

    Database keyConfirmation of deletion

  • Host distributed KV API on custom infrastructure

    Server configuration and Deno applicationRunning KV service endpoint

  • Process atomic transactions across multiple keys

    Multiple key-value operationsTransaction success or failure result

  • List keys with optional prefix filtering

    Optional key prefix patternArray of matching keys

Tags

denokvsqlitedatabaseself-hosted

Tech Stack

RustDocker

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.