Zero is a ✨generalized✨ sync engine that should work for a wide variety of apps, and is enabled by IVM.
In traditional dbs, you do a single query and get a single result. If data changes, you re-run the query. Even in "realtime" databases, what's usually happening is re-running queries.
In traditional dbs, you do a single query and get a single result. If data changes, you re-run the query. Even in "realtime" databases, what's usually happening is re-running queries.
Comments
What we really want is to sync the result of these big queries continually to client.
Worse, since every user has their own permissions, when a single row changes ALL users' queries must be recalculated.
We took these same ideas and applied them to sync.
You do a query direct from the client. Zero answers the query and keeps it up to date efficiently.
But better, if you do another query that overlaps with the first, Zero reuses the already synced data to answer the new query ✨instantly✨.
https://bugs.rocicorp.dev/
We made our own Linear-style bug tracker with Zero as a dogfood, and have used it as our actual bug tracker for months.