It is undoubtedly true that database management systems (DBMSs) are becoming the cornerstone of new advances in information technology (IT), such as Web services, semantic data, and knowledge discovery. As a consequence, classical issues related to DBMS efficiency and effectiveness have become more critical, as more and more DBMS capabilities are harvested and overused. Papers such as this one are welcome, since they address the critical issue of isolation level, a transaction property that is a key driver for performance and data consistency.
The authors present a set of theorems, derived from Hoare logic, that help analyze the most adequate isolation level mode for a given transaction, in a way that provides consistency for the whole environment (all transactions), and the least resource locking required. For each usual isolation level provided by the majority of DBMS engines (read committed, read uncommitted, serializable, repeatable read), there is a compatibility rule to check against the pre- and post-data consistency conditions.
The rules are very practical, and are straightforward enough to use in everyday situations, where the isolation level should be set up at the compile level or at the execution level. This is a topic not addressed properly in most IT organizations, where database administrators (DBAs) usually promulgate “standards,” such as, “Do not use repeatable read isolation level” without proper evaluation of business rules requirements (pre- and post-data consistency conditions). This consequently generates data consistency problems when the application is migrated to production; those defects are hard to track and debug.
As a whole, the paper is very practical. It can immediately serve as a guideline for determining the optimal isolation levels for transactions being developed or maintained in an organization.