Project Status

Platforms and Frameworks

Databases

API

  • The API is in rapid development. We are deprecating the original "CRUD" mutators and ad-hoc queries and replacing them with the more flexible custom mutators and synced queries. Because documentation for both sets of features still exist, the docs are more complex than ideal.
  • Also the new APIs are still being refined and have some rough edges.

Query Language

  • Filters, sorts, limits, relationships, and exists are supported.
  • Queries can have ttl to keep data synced across sessions.
  • Aggregates (count, min, max, group-by) are not yet supported.
  • Full-text search is not yet supported (you can sometimes simulate with ILIKE, though it scales linearly).
  • Infinite/virtual scroll is possible, but we do not yet have a library/API for it. See zbugs source for how to do this.

Performance

  • Zero plans single-table queries (choosing the right index, etc) by delegating to SQLite and this works well. Zero does not currently auto-plan joins. You can manually plan them using the flip parameter.
  • Zero has a basic console-based inspector that can help to understand query and sync performance. It does not yet have a GUI inspector.
  • We share queries within a "client group" (e.g. all tabs in a browser), but not across groups. This means that if you have many users doing the same query, they will duplicate all that work server-side.

Miscellaneous

  • Running Zero requires deploying it yourself to AWS or similar. Running in a multinode, zero-downtime way is possible (we do it for zbugs), but significant effort. Running single node is easier, but updating the server takes it down for a minute or so (we are working on a SaaS solution).