Storage, Queues and Real-time
Smaller building blocks that show up in many designs: a simple log-structured store, changing indexes without downtime, a database-backed job queue, a rule engine, the repository pattern and real-time video with WebRTC.
6 lessons1 h 5 minIntermediate
What you'll learn
0 of 6 lessons complete
- Bitcask: a tiny log-structured key-value storeStart
- Changing a live database: online indexes and schema changes
- A job queue on PostgreSQL with SKIP LOCKED
- A rule engine and trigger framework
- The repository pattern: hiding storage behind a domain interface
- WebRTC: peer-to-peer media, signalling, NATs and media servers
Who this is for and what you will be able to do
Who this is for
Engineers who know the basics of databases and services and want to understand specific mechanisms well enough to build or review them.
After this course you will be able to
- Explain how an append-only key-value store with an in-memory index works and where it breaks
- Add an index or change a schema on a live table without blocking writes
- Build a reliable work queue on a relational database
- Design a rule engine that is safe, versioned and idempotent
- Draw the layers and limits of the repository pattern
- Describe how WebRTC connects peers and when to add a media server
Topics it coversStorage EnginesAll topics
How a lesson works
Interactive diagram
See how each component connects, then run a request through it.
Plain-words toggle
Switch between the technical explanation and a plain-language one.
Practice design
Change a design of your own in the builder and see how it holds up.
Quiz and exercise
Test your understanding before moving on.
Go deeper
These lessons are written from scratch. The books below are excellent next reads.
- Designing Data-Intensive Applicationsby Martin Kleppmannstorage engines, replication and stream processing
- Database Internalsby Alex Petrovhow storage engines and distributed databases are built
- Patterns of Enterprise Application Architectureby Martin Fowlerrepository, unit of work and related patterns