OPEN SUBSTRATE · BSL 1.1

stplr.

A self-managing, horizontally-scaling distributed key/value + set-ops store.

Rendezvous-hashed. Replicated. Zero-touch. The open data plane other systems build on.

Private beta — opening soon.

Everything in the box

Rendezvous-hashed partitioning

HRW hashing over a fixed ring of virtual buckets — deterministic placement, minimal data movement when membership changes.

Replicated, survives node loss

Top-R replication (R≥2 by default). Reads and writes fail over to a surviving replica automatically — no client retries to wire up.

Zero-touch operations

Online rebalance, graceful drain, auto-heal, crash-resume, and live membership — no manual reshard, no downtime, no operator babysitting.

KV + server-side set-ops

An object store (collection, key) → value plus posting-list set operations — set_add / set_remove / set_members executed on the shard, not pulled to the client.

Durable by default

LMDB-backed — the disk is the database. Survives restarts with no separate persistence config; or run fully in-memory for dev.

Replayable change feed

A durable, value-level log you can tail and replay — recovery and downstream sync without bolt-on CDC.

On the roadmap: rack/zone-aware replica placement · coordinator leader election · direct-to-shard writes · Prometheus /metrics · durable ingest queue

One binary. Composable roles.

A node runs any combination of shard, coordinator, and api — chosen per process, changeable at runtime. Scale the data plane and the query plane independently.

  • shard owns and serves a partition; the horizontal-scale unit, replicated R-ways.
  • coordinator routes reads/writes and drives rebalancing and membership.
  • api stateless protocol endpoint; run N replicas behind a load balancer.

Availability today: a highly available data plane — replicated shards with auto-heal and crash-resume. Coordinator leader election, direct-to-shard writes, and a durable ingest queue are on the near-term roadmap.

# stplr node — run any combination of roles
node_id     = "node-a"
roles       = ["shard", "coordinator"]
replication = 2
store       = "lmdb"

# generic, replicated, online-rebalanced set-ops
set_add(coll, key, member)   → append to a posting list
set_members(coll, key)       → read it back, R-way safe

BUILD ON TOP · ENTERPRISE

stplr is the substrate. Stitch is the engine.

stplr gives you the distributed data plane. Stitch — the proprietary correlation engine (US 11,151,112) — runs on the same cluster and does what raw key/value can't.

  • Multi-table correlation from a single query — join entities across many sources
  • AND / OR / NOT set logic over the results, evaluated at scale
  • Index / stitch / map construction built and maintained for you
  • Production-ready: metering, licensing, SSO / RBAC / audit
  • Runs on the stplr cluster you already operate — same ops, same scaling
Talk to us about Stitch

Source-available, becoming open.

stplr is licensed under the Business Source License 1.1. Use, copy, modify, and run it in production for any purpose — the one limit is offering it to third parties as a hosted key-value, storage, or set-operation service.

Each version converts to the Apache License 2.0 four years after it is first published. Source-available today, true open source on a clock.