SF Systems Meetup: Databases and Stateful Apps
The SF Systems Meetup is back with a pair of talks giving us a peek at the future of state management! This month, we're excited to have talks from Almog Gavra (Responsive) on SlateDB and Anselm Eickhoff (jazz.tools) on local-first apps with CRDTs.
This meetup is generously hosted by Chroma at their San Francisco office. Food and drinks will be provided!
Agenda
5:30 PM: Doors Open, Food and Socializing
6:30 - 7:30: Introductions and Talks
7:30-: Community Socializing!
Talks
Almog Gavra (Responsive): An Introduction to SlateDB
In 2011, LevelDB’s Log-Structured Merge (LSM) tree reshaped storage for distributed systems and served as the foundation for systems like Cassandra, HBase, Flink, and Facebook’s feed infrastructure. Today’s rise of object store popularity calls for revisiting this foundational data structure. In this talk, we introduce SlateDB: an embedded key-value database built specifically for object storage. You’ll learn about SlateDB’s core architecture and the design strategies we employed to work around the novel tradeoffs presented by object store systems.
Anselm Eickhoff (jazz.tools): Cryptographic Permissions for CRDTs
CRDTs are an exciting primitive for distributed state. In local-first apps, synced CRDTs can be framed as a natural extension to reactive local state, allowing developers to build eventually consistent multi-device and multi-user apps, with business logic living completely on the client, only requiring generic syncing infrastructure. A key feature that traditional backends solve remains a challenge, though: how do permissions work in this world? In addition to being a batteries-included framework that makes local-first state practical, Jazz uniquely solves local-first permissions, by coupling public-key cryptography with CRDTs in a way that allows for dynamic, expressive permission structures which can be defined on the client and are enforced globally, in an auditable way.