Brought to you by Resonate

Durable Execution on ScyllaDB

Durable promises stored the way ScyllaDB wants them stored — one row each, fanned out across many small partitions.

Source-available · BUSL-1.1Built by Resonate HQ

Your ScyllaDB cluster already holds the state your systems depend on. Resonate HQ built a durable-execution server on ScyllaDB so it can hold their execution state too — six tables in a cluster you already operate, instead of another database to stand up and keep alive.

Durable execution is a protocol, not a product

ScyllaDB is now a durable-execution provider.

Any platform that can provide durable storage and an atomic compare-and-swap can implement the Resonate protocol — and ScyllaDB does it natively. No layers borrowed from anywhere else: ScyllaDB is the provider.

Why ScyllaDB

A data model shaped to the partition model.

One promise, one row

Every durable promise is a single row keyed by (origin, id), so state fans out across many small partitions instead of concentrating into a fixed few. A promise and its task share that row, which keeps the common operations to a single-row read or write.

No log to replay, nothing to grow

State is the current row, not a sequence of events to accumulate and replay — so there is no history to compact and no size ceiling on a long-running execution. Durable timers live in bucketed, time-ordered tables sharded across the cluster, so an expiry scan stays inside one partition.

Drop-in

It speaks the protocol your SDK already speaks.

This is the Resonate HTTP/JSON protocol implemented against ScyllaDB, so nothing above the server changes. Every Resonate SDK works unchanged — TypeScript, Python, Rust, Go and Java. Point your workers at it and the API is identical. It ships as a single binary.

docker compose up   # server on :8001

What's true today

No surprises. Here’s exactly where it stands.

License
Source-available under BUSL-1.1 — free for development and evaluation. Each version converts to Apache 2.0 on 2030-07-01.
Maturity
Early. The protocol is implemented end to end, but there are no production reference deployments yet and the search operations are still unimplemented. Sign up below to be among the first to run it in production.
How it's tested
A diff suite checks every step against an in-memory oracle; crash tests kill the process mid-transaction and assert named state invariants on whatever survives; and concurrent interleavings are checked for linearizability with a model checker. The suites run under Docker Compose from the repository.
Requirements
A ScyllaDB cluster reachable over CQL. Docker Compose brings the server up against a local instance; against an existing cluster, apply the schema and point the server at it with the SCYLLADB_HOSTS, SCYLLADB_KEYSPACE and SCYLLADB_REPLICATION settings.
Ownership
Built and maintained by Resonate HQ, independently of the ScyllaDB project. ScyllaDB itself is unmodified — the BUSL license applies only to Resonate's server. Not affiliated with, or endorsed by, ScyllaDB.

Run durable execution on ScyllaDB.

Sign up and we'll help you stand it up on the cluster you already run — and your stack shapes what gets built next.