PearlDB
discontinuedby Willem Thiart · since 2015
Tiny C HTTP key-value server using LMDB for storage and H2O for HTTP, acking only after data is on disk.
discontinued. No commits since January 2018 (version 0.1.0); unmaintained.
Overview
PearlDB is a minimal key-value database server in C with a RESTful HTTP interface: PUT, GET and DELETE on keys, with persistent connections and pipelining. It hands storage to LMDB and HTTP handling to the H2O library, batching LMDB writes so that a successful HTTP response means the write is durably on disk, and because the API is plain HTTP a caching reverse proxy can sit in front to scale reads. Written by Willem Thiart as a deliberately small, readable codebase, it stopped at version 0.1.0 and its last commits date from January 2018. It is best used as a reference for wiring LMDB to an HTTP server rather than as a production store.
Strengths & trade-offs
Strengths
- +Durable acknowledgements: a 200 means the write reached disk
- +Very small codebase built on proven LMDB and H2O
- +Plain HTTP API works with any client and with HTTP caches
Trade-offs
- −Abandoned since 2018
- −No auth, replication or range queries
Great for
- +Reference design for an LMDB-backed HTTP service
- +Toy or internal key-value endpoints
Think twice for
- −Production systems
- −Internet-exposed services
Capabilities
Native or official first-party support · 1 of 25 tracked
Scale & consistency
- Comfortable data size
- Small · ≤ 100 GB
- Horizontal scaling
- None
- Multi-region
- No
- Transactions
- Limited ACID
- Consistency
- Strong
- Schema
- Schemaless
- Architecture
- Single node, Client server
- Query languages
- HTTP REST
Deployment
Ecosystem
Alternatives to PearlDB
Tiny memory-mapped B+tree with ACID transactions and lock-free readers; reached 1.0 in 2026.
pearldb vs lmdb →The in-memory data structure server that became the default cache, now with search, JSON and vectors built in.
pearldb vs redis →The Linux Foundation's BSD-licensed fork of Redis, now the default engine on AWS and Google Cloud.
pearldb vs valkey →Raft-based, strongly consistent key-value store that holds Kubernetes' cluster state.
pearldb vs etcd →The key-value store built into HashiCorp Consul for service config, locks and discovery.
pearldb vs hashicorp-consul-kv →Apple's ordered, strictly serializable distributed key-value store, built to have layers on top.
pearldb vs foundationdb →PearlDB FAQ
What is PearlDB?
PearlDB is a key-value database by Willem Thiart, first released in 2015. PearlDB is a minimal key-value database server in C with a RESTful HTTP interface: PUT, GET and DELETE on keys, with persistent connections and pipelining. It hands storage to LMDB and HTTP handling to the H2O library, batching LMDB writes so that a successful HTTP response means the write is durably on disk, and because the API is plain HTTP a caching reverse proxy can sit in front to scale reads. Written by Willem Thiart as a deliberately small, readable codebase, it stopped at version 0.1.0 and its last commits date from January 2018. It is best used as a reference for wiring LMDB to an HTTP server rather than as a production store.
Is PearlDB open source?
Yes. PearlDB is open source. License: BSD license.
Does PearlDB support ACID transactions?
Partly. PearlDB offers limited ACID guarantees (for example, single-record or single-partition transactions), with strong consistency.
Does PearlDB scale horizontally?
PearlDB does not scale horizontally; it runs on a single node, so you scale it up rather than out. It is comfortable at small scale (≤ 100 GB).
How can I run PearlDB?
You can self-host it.
What is PearlDB best for?
PearlDB is a strong fit for reference design for an LMDB-backed HTTP service and toy or internal key-value endpoints. Think twice for production systems.
What are the best alternatives to PearlDB?
Common alternatives to PearlDB include LMDB, Redis, Valkey, etcd and Consul KV. The right choice depends on your workload, scale and hosting; WhichDB's smart match ranks them against your requirements.
Is PearlDB still maintained?
PearlDB is discontinued. No commits since January 2018 (version 0.1.0); unmaintained.
How popular is PearlDB?
PearlDB ranks #635 of 844 databases on the WhichDB Score (0.5/100), and #118 among key-value databases. The score combines public adoption signals such as package downloads, GitHub activity, job posts and developer discussion.