Transaction support for indexed summary views

Materialized views have become a standard technique for performance improvement 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 transaction just like indexes on ordinary tables. Unfortunately, the smaller 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 multi-granularity (hierarchical) locking, snapshot transactions, multi-version concurrency control, key range locking, and system transactions, i.e., multiple proven database implementation techniques. The complete design eliminates all contention between pure read transactions and pure update transactions as well as contention among 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; and it provides recovery for transaction, media, and system failures.

[1]  Dennis Shasha,et al.  Utilization of B-trees with inserts, deletes and modifies , 1989, PODS '89.

[2]  Kenneth A. Ross,et al.  Concurrency Control Theory for Deferred Materialized Views , 1997, ICDT.

[3]  Dallan Quass,et al.  Maintenance Expressions for Views with Aggregation , 1996, VIEWS.

[4]  Patrick E. O'Neil,et al.  The Escrow transactional method , 1986, TODS.

[5]  Hamid Pirahesh,et al.  ARIES: a transaction recovery method supporting fine-granularity locking and partial rollbacks using write-ahead logging , 1998 .

[6]  Henry F. Korth,et al.  Locking Primitives in a Database System , 1983, JACM.

[7]  David B. Lomet,et al.  MLR: a recovery method for multi-level systems , 1992, SIGMOD '92.

[8]  C. Mohan Commit_LSN: A Novel and Simple Method for Reducing Locking and Latching in Transaction Processing Systems , 1996, Performance of Concurrency Control Mechanisms in Centralized Database Systems.

[9]  Per-Åke Larson,et al.  Updating derived relations: detecting irrelevant and autonomously computable updates , 1986, VLDB.

[10]  Barbara Liskov,et al.  Guardians and actions: linguistic support for robust, distributed programs , 1982, POPL '82.

[11]  Andreas Reuter,et al.  Principles of transaction-oriented database recovery , 1983, CSUR.

[12]  David B. Lomet,et al.  Key Range Locking Strategies for Improved Concurrency , 1993, VLDB.

[13]  Hans-Jörg Schek,et al.  Architectural Issues of Transaction Management in Multi-Layered Systems , 1984, VLDB.

[14]  Jeffrey F. Naughton,et al.  Locking protocols for materialized aggregate join views , 2005, IEEE Transactions on Knowledge and Data Engineering.

[15]  Ashish Gupta,et al.  Materialized views: techniques, implementations, and applications , 1999 .

[16]  Gerhard Weikum,et al.  Multi-level recovery , 1990, PODS.

[17]  Hamid Pirahesh,et al.  Incremental Maintenance for Non-Distributive Aggregate Functions , 2002, VLDB.

[18]  C. Mohan,et al.  Algorithms for creating indexes for very large tables without quiescing updates , 1992, SIGMOD '92.

[19]  Jim Gray,et al.  A critique of ANSI SQL isolation levels , 1995, SIGMOD '95.