1/23
Roadmap.sh system design study block: data and caching.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai | Chat |
|---|
No analytics yet
Send a link to your students to track their progress
Database
A system for storing, querying, and managing persistent data.
SQL vs NoSQL
SQL databases prioritize relational schemas and expressive queries; NoSQL databases optimize for flexible models, scale, or specific access patterns.
RDBMS
A relational database management system that stores data in tables and uses SQL with constraints and transactions.
Key-Value Store
A database that retrieves values by key, useful for caches, sessions, and simple lookups.
Document Store
A database that stores semi-structured documents such as JSON and supports flexible nested data.
Wide Column Store
A distributed database model optimized for large-scale sparse rows and high write throughput.
Graph Database
A database optimized for entities and relationships, useful for traversals such as social graphs or recommendations.
Database Replication
Keeping copies of data on multiple nodes for availability, durability, and read scaling.
Sharding
Splitting data across partitions or nodes so each shard owns a subset of the dataset.
Federation
Splitting databases by function or domain, such as users, products, and orders.
Denormalization
Duplicating or prejoining data to speed reads, usually at the cost of write complexity and consistency work.
SQL Tuning
Improving SQL performance through indexes, query plans, schema changes, batching, and avoiding expensive scans.
Caching
Storing frequently used data in a faster layer to reduce latency and backend load.
Refresh Ahead
Refreshing cached data before it expires so users are less likely to hit stale or missing entries.
Write-Behind Cache
Writes go to the cache first and are asynchronously persisted to the database.
Write-Through Cache
Writes update the cache and database synchronously, keeping them aligned at higher write latency.
Cache-Aside
Application code checks the cache, loads from the database on miss, then populates the cache.
Client Caching
Caching responses in browsers or apps to reduce network calls.
CDN Caching
Caching static or cacheable dynamic content at edge locations.
Web Server Caching
Caching generated responses or assets at the web server layer.
Database Caching
Using database buffer pools, materialized views, or external caches to speed repeated queries.
Application Caching
Keeping computed objects or query results in application memory or a distributed cache.
Cache Invalidation
Removing or refreshing cached entries when underlying data changes.
Cache Stampede
Many clients recompute or refetch the same expired item simultaneously, overloading the backend.