ENGINEERING NOTES
Production incidents, architecture decisions, and things worth documenting.
Long-form investigations from database reliability, platform engineering and production operations. Written when there is something worth documenting — not on a schedule.
FEATURED
ARCHITECTURE · SQL SERVER · POSTGRESQL · MARIADB · SCYLLADB
From Daily Checks to a Database Engineering Command Center
How daily DBA checks became a distributed multi-engine operations platform — and started evolving into a control surface.
READ NOTE →AUTOMATION · SQL SERVER
The Plan Got Worse. Query Store Had the Previous One.
Using Query Store and FORCE_LAST_GOOD_PLAN to turn SQL Server plan regressions into a bounded self-healing loop.
READ NOTE →PRODUCTION FORENSICS · MYSQL
The 20 GB MySQL Had Already Freed
Tracing unexplained MySQL RSS through Performance Schema, Linux process memory and the allocator.
READ NOTE →ALL NOTES
11 PUBLISHEDPERFORMANCE · BABELFISH · POSTGRESQL
Tuning Babelfish When the Client Speaks T-SQL but the Planner Is PostgreSQL
A practical workflow for getting execution plans, runtime evidence and session-level tuning data from Babelfish.
READ NOTE →AUTOMATION · SQL SERVER
Archiving a Hot Audit Table Without Making the Archive the Outage
Batched SQL Server archiving with bounded transactions, referential safety, restartability and throttling.
READ NOTE →ARCHITECTURE · SQL SERVER · POSTGRESQL · MARIADB · SCYLLADB
From Daily Checks to a Database Engineering Command Center
How daily DBA checks became a distributed multi-engine operations platform — and started evolving into a control surface.
READ NOTE →PRODUCTION FORENSICS · POSTGRESQL
A 99.99% Cache Hit Ratio Didn't Answer the PostgreSQL Memory Question
Why a 99.99% PostgreSQL cache hit ratio did not explain connection-driven memory pressure.
READ NOTE →OBSERVABILITY · MARIADB
The Label Changed. The Prometheus Series Didn't Disappear.
A mutable label created a stale in-process metric series that made a database-health aggregate look healthy.
READ NOTE →AUTOMATION · SQL SERVER
The Plan Got Worse. Query Store Had the Previous One.
Using Query Store and FORCE_LAST_GOOD_PLAN to turn SQL Server plan regressions into a bounded self-healing loop.
READ NOTE →AUTOMATION · SQL SERVER
Making SQL Server Memory Follow the Failover
Recalculating SQL Server max memory from the FCI instances actually running on each cluster node.
READ NOTE →PRODUCTION FORENSICS · SQL SERVER
The SQL Server Was Up. Kerberos Was Pointing at the Wrong Account.
Diagnosing Cannot generate SSPI context when SQL Server worked by IP but failed by hostname.
READ NOTE →PRODUCTION FORENSICS · MYSQL
The 20 GB MySQL Had Already Freed
Tracing unexplained MySQL RSS through Performance Schema, Linux process memory and the allocator.
READ NOTE →AUTOMATION · SQL SERVER
The Database Failed Over. Its CDC Jobs Didn't.
Availability Groups move databases, not Agent jobs — so CDC capture stops at every failover. A watchdog that notices.
READ NOTE →AUTOMATION · SQL SERVER
The Lookups I Stopped Skipping
Eight SSMS query shortcuts behind one stored procedure, and the parser constraint that shaped the whole interface.
READ NOTE →