Databases¶
A comprehensive course on databases - from relational fundamentals and SQL through MySQL administration, PostgreSQL internals, NoSQL systems, and production operations. These guides take you from "I know I need a database" to understanding storage engines, query optimization, replication topologies, and recovery procedures well enough to architect, tune, and operate database systems in production.
Each guide is self-contained, but the order below follows a natural learning path. Basic Linux CLI familiarity is assumed throughout.
Guides¶
Foundations
1 Start HereCore database concepts including the relational model, ACID properties, CAP theorem, and a decision framework for choosing between RDBMS and NoSQL systems.
The standard language for relational databases. Covers DDL, DML, JOINs, aggregations, subqueries, and transaction control.
Turning requirements into schema with ER diagrams, normalization through Boyce-Codd, index theory, and constraint enforcement.
MySQL & MariaDB
4Installing MySQL, configuring my.cnf, choosing storage engines, sizing the buffer pool, and hardening for production.
Day-to-day MySQL management with the mysql CLI, user and privilege system, log types, and table maintenance.
Finding and fixing slow queries with EXPLAIN, index strategies, buffer pool tuning, and slow query log analysis.
Binary log replication, GTID topologies, Group Replication, InnoDB Cluster, and ProxySQL connection routing.
PostgreSQL
8Installation, psql CLI, postgresql.conf tuning, pg_hba.conf authentication, and MVCC snapshot isolation.
Roles and privileges, VACUUM and autovacuum tuning, pg_stat monitoring views, extensions, and WAL management.
Recursive CTEs, window functions, JSONB with GIN indexing, table partitioning, full-text search, and PgBouncer.
NoSQL
11Document, key-value, wide-column, and graph databases. CAP theorem, consistency models, and polyglot persistence.
The document model, CRUD operations, aggregation pipelines, indexing, replica sets, and sharding fundamentals.
In-memory data structures, caching patterns, pub/sub, Lua scripting, persistence with RDB and AOF, and Sentinel/Cluster.
Operations
14Logical vs physical backups, mysqldump, pg_dump, Percona XtraBackup, and point-in-time recovery.
Authentication methods, TLS/SSL configuration, SQL injection prevention, audit logging, and privilege hardening.
Read replicas, connection pooling, sharding strategies, and microservices data patterns including CQRS.
Last-resort data recovery using the Percona Data Recovery Tool, InnoDB file architecture, and first-response triage.