Commit_LSN: A Novel and Simple Method for Reducing Locking and Latching in Transaction Processing Systems

This paper presents a novel and simple method, called CommitYLSN, for determining if a piece of data is in the commltted state in a transaction processing system. This method is a much cheaper alternative to the locking approach used by the prior art for this purpose. The method takes advantage of the concept of a log sequence number (LSN). In many systems. an LSN is recorded in each page of the data base to relate the state of the page to the log of update actions for that page. Our method uses information about the LSN of the first log record (call it Commit-LSN) of the oldest update transaction still executing in the system to infer that all the updates in pages with page_LSN less than Commit LSN have been committed. This reduces locking and latching. In addition. the method may also increase the level of concurrency that could be supported. The Commit LSN method makes it possible to use finegranulazty locking without unduly penalizing transactions which read numerous records. It also benefits update transactions by reducing the cost of fine-granularity locking when contention is not present for data on a page. We discuss in detail many applications of this method and illustrate its potential benefits for various environments. In order to apply the Commit-LSN method, extensions are also proposed for those systems in which (1) LSNs are not associated with pages (AS1400,’ SQLIDS, System R), (2) LSNs are used only partially (IMS), and/or (3) not all objects’ changes are logged (AS1400, SQL/DS. System R).

[1]  Bruce G. Lindsay,et al.  Transaction management in the R* distributed database management system , 1986, TODS.

[2]  Brian E. Clark,et al.  Application System/400 Performance Characteristics , 1989, IBM Syst. J..

[3]  Jimmy P. Strickland,et al.  Log write-ahead protocols and IMS/VS logging , 1983, PODS '83.

[4]  Irving L. Traiger,et al.  The Recovery Manager of the System R Database Manager , 1981, CSUR.

[5]  Kazuo Goto,et al.  The DCS: a new approach to multisystem data-sharing , 1984, AFIPS '84.

[6]  Albert Chang,et al.  801 storage: architecture and programming , 1988, TOCS.

[7]  Hamid Pirahesh,et al.  Extensibility in the Starburst Database System , 1986, OODBS.

[8]  C. Mohan,et al.  ARIES/NT: A Recovery Method Based on Write-Ahead Logging for Nested Transactions , 1989, VLDB.

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

[10]  Toshimi Minoura Multi-Level Concurrency Control of a Database System , 1984, Symposium on Reliability in Distributed Software and Database Systems.

[11]  Nancy P. Kronenberg,et al.  VAXcluster: a closely-coupled distributed system , 1986, TOCS.

[12]  Irving L. Traiger,et al.  The notions of consistency and predicate locks in a database system , 1976, CACM.

[13]  Thomas W. Scrutchin TPF: Performance, Capacity, Availability , 1987, COMPCON.

[14]  Bruce G. Lindsay,et al.  Efficient commit protocols for the tree of processes model of distributed transactions , 1985, OPSR.

[15]  C. Mohan,et al.  Single Table Access Using Multiple Indexes: Optimization, Execution, and Concurrency Control Techniques , 1990, EDBT.

[16]  Richard A. Crus Data Recovery in IBM Database 2 , 1984, IBM Syst. J..

[17]  Hamid Pirahesh,et al.  ARIES-RRH: restricted repeating of history in the ARIES transaction recovery method , 1991, [1991] Proceedings. Seventh International Conference on Data Engineering.

[18]  Roger L. Haskin,et al.  Recovery management in QuickSilver , 1988, TOCS.

[19]  Irving L. Traiger,et al.  A history and evaluation of System R , 1981, CACM.

[20]  Jim Gray,et al.  Notes on Data Base Operating Systems , 1978, Advanced Course: Operating Systems.

[21]  Donovan A. Schneider,et al.  The Gamma Database Machine Project , 1990, IEEE Trans. Knowl. Data Eng..

[22]  Kurt A. Shoens Data Sharing vs. Partitioning for Capacity and Availability , 1986, IEEE Database Eng. Bull..

[23]  William W. Myre,et al.  OS/2 EE Database Manager Overview and Technical Highlights , 1988, IBM Syst. J..

[24]  C. Mohan,et al.  ARIES/KVL: A Key-Value Locking Method for Concurrency Control of Multiaction Transactions Operating on B-Tree Indexes , 1990, VLDB.

[25]  Donald D. Chamberlin,et al.  A History of System R and SQL/Data System (Invited Paper) , 1981, VLDB.