This Article 
 Bibliographic References 
 Add to: 
An Efficient Multiversion Access Structure
May-June 1997 (vol. 9 no. 3)
pp. 391-409

Abstract—An efficient multiversion access structure for a transaction-time database is presented. Our method requires optimal storage and query times for several important queries and logarithmic update times. Three version operations—inserts, updates, and deletes—are allowed on the current database, while queries are allowed on any version, present or past. The following query operations are performed in optimal query time: key range search, key history search, and time range view. The key-range query retrieves all records having keys in a specified key range at a specified time; the key history query retrieves all records with a given key in a specified time range; and the time range view query retrieves all records that were current during a specified time interval. Special cases of these queries include the key search query, which retrieves a particular version of a record, and the snapshot query which reconstructs the database at some past time. To the best of our knowledge no previous multiversion access structure simultaneously supports all these query and version operations within these time and space bounds. The bounds on query operations are worst case per operation, while those for storage space and version operations are (worst-case) amortized over a sequence of version operations. Simulation results show that good storage utilization and query performance is obtained.

[1] I. Ahn and R. Snodgrass, "Partitioned Storage for Temporal Databases," Information Systems, vol. 13, pp. 369-391, 1988.
[2] B. Becker, S. Gschwind, T. Ohler, B. Seeger, and P. Widmayer, "On Optimal Multiversion Access Structures," Proc. Workshop Advances in Spatial Databases, pp. 123-141, 1993.
[3] J. Clifford and A. Tansel, "On an Algebra for Historical Relational Databases: Two Views," Proc. ACM SIGMOD Conf., 1985.
[4] J.R. Driscoll, N. Sarnak, D.D. Sleator, and R.E. Tarjan, "Making Data Structures Persistent," J. Computer and System Sciences, vol. 38, pp. 86-124, 1989.
[5] M. Easton, "Key-Sequence Data Sets on Indelible Storage," IBM J. of Research and Development, vol. 30, pp. 230-241, 1986.
[6] R. Elmasri, G.T.J. Wuu, and Y.-J. Kim, "The Time Index: An Access Structure for Temporal Data," Proc. VLDB Conf., pp. 1-12, 1990.
[7] H. Gunadhi and A. Segev, "Efficient Indexing Methods for Temporal Relations," EEE Trans. Knowledge and Data Eng., vol. 5, pp. 496-509, 1993.
[8] A. Guttman, “R-Trees: A Dynamic Index Structure for Spatial Searching,” Proc. ACM SIGMOD Conf. Management of Data, 1984.
[9] C.S. Jensen, J. Clifford, R. Elmasri, S.K. Gadia, P. Hayes and S. Jajodia, eds., "A Glossary of Temporal Database Concepts," ACM SIGMOD Record, vol. 23, no. 1, pp. 52-64, Mar. 1994.
[10] C. Kolovson and M. Stonebraker, "Indexing Techniques for Historical Databases," Proc. IEEE Conf. Data Eng., pp. 127-137, 1989.
[11] C. Kolovson and M. Stonebraker, "Segment Indexes: Dynamic Indexing Techniques for Multi-Dimensional Interval Data," Proc. ACM SIGMOD Conf., pp. 138-147, 1991.
[12] S. Lanka and E. Mays, "Fully Persistent B+ Trees," Proc. ACM SIGMOD Conf., pp. 426-435, 1991.
[13] D. Lomet and B. Salzberg, "Access Methods for Multiversion Data," Proc. ACM SIGMOD Conf., pp. 315-324, 1989.
[14] D. Lomet and B. Salzberg, "The Performance of a Multiversion Access Method," Proc. ACM SIGMOD Conf., pp. 353-363, 1990.
[15] V. Lum, P. Dadam, R. Erbe, J. Guenauer, P. Pistor, G. Walch, H. Werner, and J. Woodfill, "Designing DBMS Support for the Temporal Dimension," Proc. ACM SIGMOD Conf., pp. 115-130, 1984.
[16] Y. Manolopoulos, "Reverse Chaining for Answering Temporal Logical Queries," The Computer J., vol. 35, no. 6, pp. 666-668, 1992.
[17] S.B. Navathe and R. Ahmed, "A Temporal Relational Model and a Query Language," Information Sciences, vol. 49, pp. 147-175, 1989.
[18] B. Salzberg and V.J. Tsotras, "A Comparison of Access Methods for Time Evolving Data," Technical Report No. CATT-TR-94-81, Polytechnic Univ., 1994.
[19] A. Segev and A. Shoshani, "Logical Modeling of Temporal Data," Proc. ACM SIGMOD Conf. Management of Data, pp. 454-466, May 1987.
[20] H. Shen, B.C. Ooi, and H.J. Lu, "The tp-Index: A Dynamic and Efficient Indexing Mechanism for Temporal Databases," Proc. IEEE Conf. Data Eng., pp. 274-281, 1994.
[21] R.T. Snodgrass, “The Temporal Query Language TQuel,” ACM Trans. Database Systems, vol. 12, no. 2, pp. 247–298, 1987.
[22] R. Snodgrass and I. Ahn, "A Taxonomy of Time in Databases," Proc. ACM SIGMOD Conf., 1985.
[23] R.T. Snodgrass and I. Ahn, "Temporal Databases," Computer, vol. 19, no. 9, pp. 35-42, Sept. 1986.
[24] M. Stonebraker, "The Design of the Postgres Storage System," Proc. VLDB Conf., pp. 289-300, 1987.
[25] V.J. Tsotras and N. Kangelaris, "The Snapshot Index: An I/O-Optimal Access Method for Timeslice Queries," Information Systems, vol. 20, no. 3, pp. 237-260, 1995.
[26] V.J. Tsotras and B. Gopinath, "Efficient Algorithms for Managing the History of Evolving Databases," Proc. Int'l Conf. Database Theory, 1990.
[27] R.M. Verma and P.J. Varman, "Efficient Archivable Time Index: A Dynamic Indexing Scheme for Temporal Data," Proc. Int'l Conf. Computer Systems. Tata McGraw-Hill, 1994.
[28] J.S. Vitter, "An Efficient I/O Interface for Optical Disks," ACM Trans. Database Systems, vol. 10, no. 2, pp. 129-162, 1985.

Index Terms:
Transaction-time database, multidimensional data, access methods, data structures, indexing, I/O complexity.
Peter J. Varman, Rakesh M. Verma, "An Efficient Multiversion Access Structure," IEEE Transactions on Knowledge and Data Engineering, vol. 9, no. 3, pp. 391-409, May-June 1997, doi:10.1109/69.599929
Usage of this product signifies your acceptance of the Terms of Use.