Improving Transaction-Time DBMS Performance and Functionality

Immortal DB is a transaction time database system that is built into a commercial database system rather than being layered on top. This enables it to have performance that is very close to the performance of an unversioned current time database system. Achieving such competitive performance is essential for wide acceptance of this temporal functionality. In this paper we describe further performance improvements in two critical dimensions. First Immortal DB range search performance is improved for current time data via improved current version storage utilization, making this performance essentially the same as unversioned performance. Second, Immortal DB update performance is increased by further reducing the cost for the timestamping of versions. Finally, we show how a simple modification, integrated into the timestamping mechanism, can provide a foundation for auditing database activity. Our algorithms have been incorporated into a commercial database engine and experiments using this database engine demonstrate the effectiveness of our approach.

[1]  Christian S. Jensen,et al.  Temporal Data Management , 1999, IEEE Trans. Knowl. Data Eng..

[2]  David B. Lomet,et al.  Access methods for multiversion data , 1989, SIGMOD '89.

[3]  Nick Kline,et al.  An update of the temporal database bibliography , 1993, SGMD.

[4]  Christian S. Jensen,et al.  Using the lock manager to choose timestamps , 2005, 9th International Database Engineering & Application Symposium (IDEAS'05).

[5]  David B. Lomet,et al.  Exploiting A History Database for Backup , 1993, VLDB.

[6]  Christian S. Jensen,et al.  Effective timestamping in databases , 2000, The VLDB Journal.

[7]  David B. Lomet,et al.  Transaction-Time Databases , 1993, Temporal Databases.

[8]  Richard T. Snodgrass,et al.  The temporal query language TQuel , 1987, TODS.

[9]  Malcolm C. Easton,et al.  Key-Sequence Data Sets on Inedible Storage , 1986, IBM J. Res. Dev..

[10]  A. Guttman,et al.  A Dynamic Index Structure for Spatial Searching , 1984, SIGMOD 1984.

[11]  Bernhard Seeger,et al.  An asymptotically optimal multiversion B-tree , 1996, The VLDB Journal.

[12]  Gustavo Alonso,et al.  Searching in time , 2006, SIGMOD Conference.

[13]  Vassilis J. Tsotras,et al.  Comparison of access methods for time-evolving data , 1999, CSUR.

[14]  Beng Chin Ooi,et al.  The TP-Index: a dynamic and efficient indexing mechanism for temporal databases , 1994, Proceedings of 1994 IEEE 10th International Conference on Data Engineering.

[15]  David B. Lomet,et al.  The performance of a multiversion access method , 1990, SIGMOD '90.

[16]  Dimitrios Gunopulos,et al.  Efficient Indexing of Spatiotemporal Objects , 2002, EDBT.

[17]  Sushil Jajodia,et al.  Temporal Databases: Theory, Design, and Implementation , 1993 .

[18]  Anil Kumar,et al.  Temporal Database Bibliography Update , 1996, SIGMOD Rec..

[19]  Michael Stonebraker,et al.  The Design of the POSTGRES Storage System , 1988, VLDB.

[20]  Witold Litwin,et al.  A New Method for Fast Data Searches with Keys , 1987, IEEE Software.

[21]  Michael D. Soo,et al.  Bibliography on temporal databases , 1991, SGMD.

[22]  Mohamed F. Mokbel,et al.  Immortal DB: transaction time support for SQL server , 2005, SIGMOD '05.

[23]  Lilian Hobbs,et al.  Rdb, a comprehensive guide , 1999 .

[24]  Mohamed F. Mokbel,et al.  Transaction Time Support Inside a Database Engine , 2006, 22nd International Conference on Data Engineering (ICDE'06).

[25]  Betty Salzberg,et al.  Timestamping after commit , 1994, Proceedings of 3rd International Conference on Parallel and Distributed Information Systems.

[26]  Christos Faloutsos,et al.  Auditing Compliance with a Hippocratic Database , 2004, VLDB.

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

[28]  Roger S. Barga,et al.  Recovery from "bad" user transactions , 2006, SIGMOD Conference.

[29]  David B. Lomet,et al.  Transaction time indexing with version compression , 2008, Proc. VLDB Endow..

[30]  Antonin Guttman,et al.  R-trees: a dynamic index structure for spatial searching , 1984, SIGMOD '84.

[31]  I. H. Harrison,et al.  A comprehensive guide , 1986 .

[32]  Kalen Delaney Inside Microsoft SQL Server 2005: The Storage Engine , 2006 .