Database
15 packages, each available for 11 model families.
backup
Backups that actually restore — point-in-time recovery, retention, encryption, and the restore drill that is the only proof a backup exists.
go-database
Database access from Go — database/sql and pgx, pool sizing, transactions that always resolve, sqlc versus ORMs, migrations, scanning, and context…
indexes
Indexing for real query patterns — column order in composite indexes, when an index is ignored, and the cost of the ones you do not need.
migration
Schema changes that deploy without downtime — expand-contract, locks that block writes, and backfilling large tables safely.
mongodb
MongoDB document modelling and operational rules — embed versus reference, indexes, write concern, transactions, and the failure modes of a…
mysql
MySQL and MariaDB specifics — InnoDB, charset and collation, gap locks, online DDL, and the defaults that silently corrupt data.
orm
Using an ORM without losing control of the SQL it emits — N+1 prevention, transaction scoping, migrations, and knowing when to drop to raw SQL.
postgres
PostgreSQL-specific operational rules — connection pooling, MVCC and bloat, jsonb, extensions, and the settings that decide whether it survives…
prisma
Prisma-specific rules — schema modelling, connection pooling in serverless, migration workflow, and the query patterns that generate bad SQL.
query-optimization
Making slow queries fast — reading execution plans, eliminating N+1, and the rewrites that change complexity rather than shaving constants.
redis
Using Redis as a cache, lock and queue without losing data or correctness — eviction, persistence, atomicity, and the locking pattern that actually…
replication
Read replicas, failover and lag — what replication actually guarantees, how to route reads safely, and how to avoid promoting a replica that has lost…
schema-design
Designing relational schemas that stay correct as requirements move — key choice, normalisation, nullability, enums, and the constraints that keep…
sqlalchemy
SQLAlchemy 2.0 done properly — declarative models with typed columns, one session per unit of work, explicit transactions, loading strategies that…
transactions
Using transactions correctly — isolation levels and what each permits, keeping them short, and handling the retries serialisable mode requires.