Databases
24 topics in databases.
ACID Transactions
Understanding ACID is essential for choosing between SQL and NoSQL databases. Financial systems require ACID. Social media feeds may not.
SQL vs NoSQL
Choosing the right database is one of the most impactful decisions in system design. The wrong choice leads to painful migrations.
Database Indexes
Indexes are the single most impactful performance optimization for databases. A query that takes 30 seconds without an index can take 1 millisecond with.
Database Sharding
When a single database server cannot handle the data volume or query load, sharding is the solution.
Data Replication
Every production database uses replication. Without it, a single server failure means data loss and downtime.
Database Scaling
The database is almost always the first bottleneck in a growing system. Knowing the scaling playbook — and the order in which to apply techniques — is.
Database Types
Choosing the right database for each component of your system is a core design skill.
Bloom Filters
Bloom filters save expensive disk/network lookups. Before querying a database or cache, check the Bloom filter.
Database Architectures: OLTP, OLAP, Replication and Scaling
Compare database architectures for system design: OLTP, OLAP, replication, partitioning, storage engines, consistency models, and scaling tradeoffs.
NoSQL Data Modeling
How to model data in NoSQL databases using denormalization, access-pattern-driven design, and practical patterns for document, wide-column, and key-value.
BASE Properties
BASE (Basically Available, Soft state, Eventually consistent) is an alternative to ACID that relaxes consistency guarantees in favor of availability and.
Full-Text Search
Full-text search enables fast, relevance-ranked querying of unstructured text data using inverted indexes, tokenization, and scoring algorithms like.
Materialized Views
Materialized views are precomputed query results stored as physical tables, trading storage space and write overhead for dramatically faster read.
Query Optimization
Query optimization is the process of analyzing and restructuring database queries, indexes, and execution plans to minimize response time and resource.
Connection Pooling
Connection pooling reuses a pool of pre-established database connections instead of creating new ones per request, dramatically reducing latency and.
LSM Trees: Write-Optimized Storage for Cassandra and RocksDB
Learn LSM Trees for system design: memtables, SSTables, compaction, bloom filters, write amplification, read paths, and database tradeoffs.
B-Trees
B-Trees are self-balancing tree data structures that maintain sorted data in pages optimized for disk I/O, forming the backbone of indexes in PostgreSQL,.
HyperLogLog: Approximate Distinct Counts at Massive Scale
Understand HyperLogLog for system design: cardinality estimation, fixed memory, error rates, analytics use cases, Redis PFCOUNT, and tradeoffs.
Time Series Databases: Metrics, Retention and High-Write Storage
Learn time series database design: timestamped writes, retention policies, downsampling, compression, Prometheus, InfluxDB, and query tradeoffs.
Vector Databases
Vector databases store and query high-dimensional vector embeddings using approximate nearest neighbor (ANN) search, enabling semantic similarity search.
ETL Pipelines: Batch Processing, Transformation and Data Loading
Learn ETL pipeline design: extraction, transformation, loading, batch jobs, orchestration, retries, data quality, lineage, and warehouse tradeoffs.
Data Pipelines: Batch, Streaming, Reliability and Backpressure
Design data pipelines for system design: batch vs streaming, queues, checkpoints, retries, backpressure, data quality, and operational tradeoffs.
Data Lakes: Raw Storage, Governance and Analytics Architecture
Learn data lake architecture: raw object storage, zones, catalogs, governance, file formats, query engines, lakehouse patterns, and tradeoffs.
Data Warehouses
Data warehouses are centralized, schema-on-write analytical databases optimized for complex queries across large volumes of structured, historical data,.