Automating Hermitage to see how transactions differ in MySQL and MariaDB

· databases · Source ↗

TLDR

  • Open-source tool Monastery automates the Hermitage test suite to compare transaction isolation anomalies across MySQL and MariaDB at each isolation level.

Key Takeaways

  • SQL standard isolation levels (Read Uncommitted through Serializable) are defined via anomalies like Dirty Reads and Lost Updates, but the standard itself is ambiguous even in the 2023 revision.
  • No major database allows Dirty Writes in practice, but the SQL spec technically permits them – Monastery tests whether databases enforce this correctly.
  • The bowling-alley shoe thought experiment (from Lorin Hochstein) is formalized into executable SQL scripts to probe isolation guarantees across engines.
  • Monastery runs these scripts against MySQL and MariaDB at multiple isolation levels, exposing where each engine’s behavior diverges from the standard or from each other.
  • Author Phil Eaton has direct background in Postgres internals (EnterpriseDB), TigerBeetle, and Oracle – the tooling targets practitioners who need empirical isolation data, not just docs.

Hacker News Comment Review

  • No substantive HN discussion yet.

Original | Discuss on HN