Relational design
Design relational schemas that stay correct and fast - normal forms, primary key strategies (sequence, UUID, UUIDv7), constraints, data types, denormalization trade-offs, soft deletes and multi-tenancy.
SQL patterns
Practical SQL every senior backend developer should write fluently - join semantics, anti-joins, window functions for top-N and running totals, CTEs, upserts, keyset pagination and set-based updates.
ACID, isolation and MVCC
ACID in practice, how MVCC implements isolation in PostgreSQL and MySQL InnoDB, anomalies including write skew, how to use serializable or locks correctly, and long-transaction and deadlock operational issues.
Replication and sharding
Scale databases with read replicas, understand replication lag and failover, table partitioning, sharding strategies with consistent hashing, distributed ID generation, and CAP/PACELC trade-offs.
NoSQL and Redis
Document, key-value, wide-column and graph stores compared, query-driven data modelling for MongoDB and DynamoDB, Redis data structures and use cases, eviction and persistence, and distributed locking caveats.
Schema migrations
Manage schema changes as versioned code with Flyway or Liquibase, apply the expand and contract pattern for zero-downtime deployments, backfill large tables safely and avoid locking pitfalls.