One engine.
Every shape
of data.
Relational like Postgres. Embedded like SQLite. Fast in memory. Exact like a ledger. Documents, graphs and branchable history, decentralised by design, from a phone to a field of server nodes. RURAL aims to be all of them, in one first-party engine built to carry fifty years of work.
v0.0.44 is a working local prototype. Every capability below is labelled Today or Aim: what runs now, with its limits, and where we're headed.
Read the statusWe aim to be all of them.
Most teams glue five databases together and spend years keeping them in sync. RURAL grows every shape of data from the same soil: one transaction model, one history, one authority check. Nothing to keep in sync.
Ask precise questions.
Bounded SQL: SELECT, exact SUM, grouped COUNT, typed inner joins.
The relational depth teams trust Postgres for.
Live inside your app.
In-process Zig API, no listener, local directory store.
One portable file, on every phone.
Hot state, same rules.
RAM profile with shared semantics, CAS and expiring values.
In-memory speed without a second system.
Exact to the last unit.
Checked 64-bit values, atomic transfer, retry-safe receipts.
Financial-grade accuracy at ledger speed.
Keep the useful detail.
Nested typed schemas, CRUD, merge-patch, path updates.
Flexible records that never lose their rules.
Follow the connection.
Typed directed relations, bounded traversal on a stable view.
Deep graph work beside every other shape.
Try a change. Keep the past.
Constant-time snapshots, isolated forks, three-way merge.
Branch whole worlds: data, code and context.
Survive anything.
Cell replication model-checked; cell architecture designed.
A mesh that outlives any server, operator or creator.
Reference points name what each shape is known for. They're aims, not compatibility or performance claims. See how we compare
Many crops.
One soil.
Every shape of data in RURAL uses the same state, the same transaction rules and the same journal. A document, a relation and a balance can change together, and the answer to "what changed?" has one source.
- One transaction modelAtomic batches across every shape. Accepted whole, or not at all.
- One historyA shared journal and immutable snapshots. Readers get a stable world.
- One authorityData cannot grant itself permission. Checked at delivery and at commit.
From a phone to a field of nodes.
The same engine, from a device in your pocket to dedicated servers to a mesh of independent cells. Each place it runs gets a declared profile and states its own guarantees.
-
01 · Phone & browser
In your pocket
The real Zig engine already runs as WebAssembly in the browser aquarium.
Aim · native phone nodes -
02 · Desktop
Inside your app
Embedded API, local journal, recovery and backup on your own machine.
Today -
03 · Server node
On dedicated hardware
One owning service per store. Local today; hosted nodes pass their gates first.
In development -
04 · Field of cells
Across a mesh
Cells own their authority and coordinate explicitly. Replication is model-checked.
Design -
05 · New internet
Beyond any operator
Consent-based sharing, private computation, continuity beyond its creator.
Aim
A fifty-year database can't depend on someone else's roadmap.
So RURAL owns every layer it ships, states every format it writes, checks its core rules against formal models, and never deletes data unless you ask it to.
Engines underneath
No SQLite, RocksDB or vendored runtime. Every engine and shipped library is first-party.
TLA+ models
25 configurations, including 15 deliberately broken ones that must fail. Bounded checking, stated as such.
Self-describing frames
Every journal frame carries magic, version, sequence, length and a SHA-256 checksum. A damaged tail stops recovery.
Destructive by default
Anything that deletes or overwrites as a side effect ships disabled, and every reclaim is logged.
Exact to the last unit.
Checked 64-bit arithmetic, atomic transfers and receipts that make retries safe. A retry with the same identity returns the original answer. It never applies twice.
Faster than all of them is the aim. We publish the baseline.
Our first public benchmark compared RURAL with SQLite and SurrealDB on one machine, and it shows where we're still slower. Speed only counts when the answer survives, so every number we publish comes with its caveats.
- Today One dated, synthetic, local benchmark with all caveats
- Aim Matched evidence before any “faster” claim
See it working.
Each one runs in your browser. Neither is a hosted database; they're guided ways to see how RURAL thinks.
Make a request. See what changes.
Create, fork, retry and query in a browser simulation with inspectable state.
Open the playground The living aquariumA little world. Look closer.
The real engine, compiled to WebAssembly, keeps a habitat's records. Open the Observatory to inspect them.
Play the aquarium DocumentationGo as deep as you like.
Documents, SQL, graphs, branches, recovery and the journal format, each with its stated limits.
Read the docsThe database for the new internet.
Every shape of data, from a phone to a field of nodes, built to carry fifty years of work. Follow it as it grows.