mysql

  • The partition that could finally be dropped

    A partition where every remaining row was past its retention, eight months after the classification work. The partition scheme from 2023 aligns with the retention classes only at…

  • The test that had been quarantined since 2023

    A quarantine list with a deadline, three extensions, and one test covering a payment path that had been skipped for three years.

  • A denormalised schema that is rebuilt rather than synchronised

    A reporting schema shaped for the questions, populated by a full rebuild, which removes every synchronisation bug. Denormalisation is safe here because the table is truncated and rebuilt…

  • Eleven indexes that existed only for reporting

    Indexes on production tables serving queries that no user request ever makes. An index that serves only reporting is paying a write cost on every insert to make…

  • Write latency after dropping an index

    Eleven indexes removed from production tables, and the write path measured before and after. The median saving is trivial and the tail is not, which is the usual…

  • Deleting a module

    A module built in 2022 for a product line discontinued in 2024. Eight thousand lines, a database schema and two scheduled jobs, all still running.

  • Split-brain, and the check that refuses to promote

    A manual failover, and a guard against the case where the old primary is still writing. Refusing to promote while the old primary answers is the check that…

  • The reporting database that is not a replica

    A read replica serving reports, and reports that want a different schema. Eleven indexes on production tables that exist only for reporting.

  • Building an MCP server for a database

    turkerdev/mysql-mcp, and what a protocol for tool access actually requires. The authorisation model is the host’s problem, which means it is all yours.

  • A nightly rebuild that failed silently for two days

    A reporting database rebuilt nightly, and a failure that produced a stale copy rather than an error. A half-completed rebuild is worse than a failed one because the…