Concurrent queries and updates in summary views and their indexes.
Concurrent queries and updates in summary views and their Concurrent queries and updates in summary views and their indexes
Goetz Graefe, Hewlett-Packard Laboratories
Materialized views have become a standard technique in decision support databases and for a variety of monitoring purposes. In order to avoid inconsistencies and thus unpredictable query results, materialized views and their indexes should be maintained immediately within user transactions just like ordinary tables and their indexes. Unfortunately, the smaller and thus the more effective a materialized view is, the higher the concurrency contention between queries and updates as well as among concurrent updates. Therefore, we have investigated methods that reduce contention without forcing users to sacrifice serializability and thus predictable application semantics. These methods extend escrow locking with snapshot transactions, multi-version concurrency control, multi-granularity (hierarchical) locking, key range locking, and system transactions, i.e., with multiple proven database implementation techniques. The complete design elimi- nates all contention between pure read transactions and pure update transactions as well as contention among pure update transactions; it enables maximal concurrency of mixed read-write transactions with other transactions; it supports bulk operations such as data import and online index creation; it provides recovery for transaction, media, and system failures; and it can participate in coordinated commit process- ing, e.g., in two-phase commit.
HP technical report HPL-2011-16
Download report (.PDF): Concurrent queries and updates.pdf