Building SpiceDB: A gRPC-First Database
summary
SpiceDB is a gRPC-first authorization database that exposes protobuf APIs, generates multi-language clients via protoc, and ships a REST gateway that converts JSON to gRPC. It shards queries across a cluster using a consistent-hash balancer and supports Cloud Spanner, CockroachDB and Postgres backends. Performance wins come from avoiding reflection with VT-protobuf, using an internal compress snappy codec for intra-cluster traffic, preferring unary RPCs for UX, and cutting allocations by adopting gRPC codec V2 and memory reuse.
AI-written summary · about
chapters (13)
- 0:00SpiceDB and gRPC-first design
- 1:05Google Zanzibar and SpiceDB
- 3:55gRPC vs SQL for SpiceDB
- 8:50SpiceDB architecture with gRPC
- 10:55Hot path networking for auth
- 12:20Intra-cluster gRPC efficiency
- 14:09VT Protobuf in Go
- 15:52Go vs Rust for SpiceDB
- 16:12gRPC lessons learned
- 20:29Rebuilding SpiceDB with gRPC?
- 21:14SpiceDB client libraries future
- 22:15Exciting upcoming performance improvements
- 22:35Q&A: Data centers and RPC
related talks
35mSpiceDB: open source, hyperscale authorization
01h 01mSpiceDB: Flexible Permissions Database for the Internet Era
41mSpanner - Google's Distributed Database
01h 13mExtending PostgreSQL to Google Spanner architecture
24mSplinterDB: Closing the Bandwidth Gap for NVMe Key-Value Stores
58mIt's a Polyglot World
34mRuby and gRPC
04h 15mTopical Edition on Databases - Track 2
