Rhino: low-latency key-value database in Rust
summary
Rhino is a low-latency key‑value database written in Rust and built on FoundationDB that keeps user tables in regional FoundationDB folders and encodes composite keys with the tuple layer to allow DynamoDB‑style primary keys. Reads and writes target a single region so operations complete locally; inter‑server traffic uses multiplexed websockets and async channels. Global metadata is replicated to region servers using an Apple quick‑style queue for eventual consistency. Operationally everything is stateless except FoundationDB; latency target is roughly 20 ms estimate.
AI-written summary · about
chapters (22)
- 0:00Introduction
- 1:27Low-latency edge databases matter
- 3:12Global schema for regions
- 5:40Rhino architecture requirements
- 6:21FoundationDB as storage layer
- 9:09Region servers and DynamoDB tables
- 12:22WebSocket multiplexing
- 16:16Control server and metadata replication
- 20:53Queue with FoundationDB
- 23:24Rhino data flow
- 24:54Low-latency system guarantees
- 25:16Q&A 1
- 25:39Consensus and master selection
- 26:43Request ordering and schema changes
- 27:47Measuring lowest latency
- 28:28Cross-region replication plans
- 29:12FoundationDB operational complexity
- 31:00Query capabilities and limits
- 32:28Schema changes in regions
- 33:29Multi-cloud region support
- 34:59CAP theorem trade-offs
- 35:20Q&A 2
related talks
20mRust as foundation in a polyglot development environment
22mSolving Everyday Data Problems with FoundationDB
53mBuilding Distributed, Multi-Tenant Databases with FoundationDB and Rust
37mTechnical Overview of FoundationDB
22mGraphite-Rust: A Fast Time Series Database Implementation
25mBuild Anything with FoundationDB
46mFoundationDB: The Best-Kept Secret of New Distributed Architectures!
17mA New Radix-Tree Based Memory Storage Engine
