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.

11 PUBLISHED

PERFORMANCE · BABELFISH · POSTGRESQL · 5 MIN READ

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.

BABELFISHPOSTGRESQLSQL-SERVERPERFORMANCEQUERY-TUNING

READ NOTE →

AUTOMATION · SQL SERVER · 4 MIN READ

Archiving a Hot Audit Table Without Making the Archive the Outage

Batched SQL Server archiving with bounded transactions, referential safety, restartability and throttling.

SQL-SERVERARCHIVINGBATCHINGTRANSACTIONSRELIABILITY

READ NOTE →

ARCHITECTURE · SQL SERVER · POSTGRESQL · MARIADB · SCYLLADB · UPDATED · 12 MIN READ

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.

POSTGRESQLDISTRIBUTED-SYSTEMSOBSERVABILITYPLATFORM-ENGINEERINGAUTOMATIONAI-ASSISTED-DEVELOPMENTLLM

READ NOTE →

PRODUCTION FORENSICS · POSTGRESQL · 5 MIN READ

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.

POSTGRESQLMEMORYAMAZON-RDSPERFORMANCECAPACITY-PLANNING

READ NOTE →

OBSERVABILITY · MARIADB · 3 MIN READ

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.

PROMETHEUSOBSERVABILITYMARIADBPYTHONMETRICS

READ NOTE →

AUTOMATION · SQL SERVER · UPDATED · 5 MIN READ

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.

SQL-SERVERQUERY-STOREAUTOMATIC-TUNINGPERFORMANCEAUTOMATION

READ NOTE →

AUTOMATION · SQL SERVER · UPDATED · 11 MIN READ

Making SQL Server Memory Follow the Failover

Recalculating SQL Server max memory from the FCI instances actually running on each cluster node.

SQL-SERVERFAILOVER-CLUSTERMEMORYPOWERSHELLAUTOMATION

READ NOTE →

PRODUCTION FORENSICS · SQL SERVER · 4 MIN READ

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.

SQL-SERVERKERBEROSACTIVE-DIRECTORYWINDOWS-AUTHENTICATIONPRODUCTION

READ NOTE →

PRODUCTION FORENSICS · MYSQL · 7 MIN READ

The 20 GB MySQL Had Already Freed

Tracing unexplained MySQL RSS through Performance Schema, Linux process memory and the allocator.

MYSQLLINUXMEMORYALLOCATORPRODUCTION

READ NOTE →

AUTOMATION · SQL SERVER ARCHIVE · · UPDATED · 9 MIN READ

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.

SQL-SERVERAVAILABILITY-GROUPSCDCFAILOVERAUTOMATION

READ NOTE →

AUTOMATION · SQL SERVER ARCHIVE · · UPDATED · 12 MIN READ

The Lookups I Stopped Skipping

Eight SSMS query shortcuts behind one stored procedure, and the parser constraint that shaped the whole interface.

SQL-SERVERSSMSTOOLINGT-SQLPRODUCTIVITY

READ NOTE →