[go: up one dir, main page]

Skip to content
Contents

Welcome to Rindle

A SQL database where every query is live

Think Convex, but SQL. Postgres, but live.

Write your application with normal INSERT, UPDATE and DELETE statements, then subscribe() to any SELECT. Rindle keeps the result current automatically and efficiently.

Rindle is enabled by a Rust port of ZVM — the incremental query engine from Zero. Previously, ZVM could only be used as part of Zero. Now it’s also available as a standalone database.

Try It

Thousands of live queries over the Bluesky firehose. One vCPU. Each square is its own SQL query, kept current by one Rindle server as posts, likes and follows arrive. A square lights up when its result changes. Hover each square for more details.
Live queries
–
one per square
Results changed
–
per second
Write rate
–
row changes/s
Update
–
engine time per row change
Pipelines
–
unique query shapes
Server CPU
–
one core = 100%
DB size
–
on disk
Server memory
–
resident
Connecting…

Features

  • Simple It’s SQL plus subscribe(). You already know how to use it - database, not framework.
  • Live Every query is live and incremental by default. Agents get woken on changes, users see updates without refresh.
  • Fast First result in milliseconds, updates in microseconds. Thousands of live queries and thousands of writes/second on one core.
  • Tree queries One trailing WITH clause, and Rindle returns the tree of data your application actually wants, instead of a flat table to reassemble.
  • Composable Pure HTTP server interface. Use from Node, React, iOS, whatever. Layer @rindle/zero or TanStack DB on top for instant reads and writes.
  • Cheap Runs on NVMe and S3, so a database costs nothing when idle and almost nothing when active.

Ready to Try?

Head to Get Started. Agents, see For Agents.