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
Understanding database architectures helps you design systems that meet availability, consistency, and performance requirements.
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
LSM Trees (Log-Structured Merge Trees) are write-optimized data structures that buffer writes in memory and flush sorted runs to disk, powering databases.
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
HyperLogLog is a probabilistic data structure that estimates the cardinality (count of distinct elements) of massive datasets using only a few kilobytes.
Time Series Databases
Time series databases are purpose-built for storing, querying, and analyzing time-stamped data, with optimizations for high-ingestion rates, time-range.
Vector Databases
Vector databases store and query high-dimensional vector embeddings using approximate nearest neighbor (ANN) search, enabling semantic similarity search.
ETL Pipelines
ETL (Extract, Transform, Load) pipelines extract data from source systems, transform it into a consistent format, and load it into a target data store.
Data Pipelines
Data pipelines are automated systems that move and transform data from sources to destinations, encompassing both batch (ETL/ELT) and streaming (real-time.
Data Lakes
Data lakes are centralized storage repositories that hold vast amounts of raw data in its native format — structured, semi-structured, and unstructured —.
Data Warehouses
Data warehouses are centralized, schema-on-write analytical databases optimized for complex queries across large volumes of structured, historical data,.