This Article 
 Bibliographic References 
 Add to: 
Efficient Management of Time-Evolving Databases
August 1995 (vol. 7 no. 4)
pp. 591-608

Abstract—Efficiently managing the history of a time-evolving system is one of the central problems in many database environments, like database systems that incorporate versioning, or object-oriented databases that implicitly or explicitly maintain the history of persistent objects. In this paper we propose algorithms that reconstruct past states of an evolving system for two general cases, i.e., when the system’s state is represented by a set or by a hierarchy (a forest of trees). Sets are widely used as a canonical form of representing information in databases or program states. For more complex applications, like schema evolution in object-oriented databases, it becomes necessary to manage the history of data structures that have the form of forests or even graphs. The proposed algorithms use minimal space (proportional to the number of changes occurring in the evolution) and have the advantage of being on-line (in the amortized sense). Any past system state s(t) is reconstructed in time O(|s(t)|+ loglogT), where |s(t)| is the size of the answer and T is the maximal evolution time. For all practical cases the loglogT factor is a constant, therefore our algorithms provide almost random access to any past system state. Moreover, we show that the presented algorithms are optimal among all algorithms that use space linear in the number of changes in the system’s evolution.

[1] R. Ahmed and S.B. Navathe, "Version Management of Composite Objects in CAD Databases," Proc. ACM SIGMOD Conf., pp. 218-227, June 1991.
[2] A.V. Aho,J.E. Hopcroft, and J.D. Ullman,The Design and Analysis of Computer Algorithms.Reading, Mass.: Addison-Wesley, 1974.
[3] M. Ajtai,“A lower bound for finding predecessors in Yao’s cell probe model,” Combinatorica, 1989.
[4] 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.
[5] R.G.G. Cattell,Object Data Management.Reading, Mass.: Addison-Wesley, 1991.
[6] B. Chazelle,“How to search in history,” Information and Control, vol 64, pp. 77-99, 1985.
[7] R. Cole,“Searching and storing similar lists,” J. of Algorithms, vol 7, pp. 202-220, 1986.
[8] M. Dietzfelbinger,A. Karlin,K. Mehlhorn,F. Meyer,H. Rohnhert,, and R. Tarjan,“Dynamic perfect hashing: Upper and lower bounds,” Proc. 29th IEEE FOCS, pp. 524-531, 1988.
[9] D.P. Dobkin and J.L. Munro,“Efficient uses of the past,” Proc. 21st IEEE FOCS, pp. 200-206, 1980.
[10] 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.
[11] 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.
[12] M.L. Fredman,J. Komlos,, and E. Szemeredi,“Storing a sparse table with O(1) worst case access time,” J. ACM, vol 31, pp. 538-544, July 1984.
[13] 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.
[14] R.H. Katz,“Toward a unified framework for version modelling in engineeringdatabases,” ACM Computing Surveys, vol. 22, no. 4, pp. 375-408, 1990.
[15] C. Kolovson and M. Stonebraker, "Indexing Techniques for Historical Databases," Proc. IEEE Conf. Data Eng., pp. 127-137, 1989.
[16] S. Lanka and E. Mays, "Fully Persistent B+ Trees," Proc. ACM SIGMOD Conf., pp. 426-435, 1991.
[17] D. Lomet and B. Salzberg, "Access Methods for Multiversion Data," Proc. ACM SIGMOD Conf., pp. 315-324, 1989.
[18] D. Lomet and B. Salzberg, "The Performance of a Multiversion Access Method," Proc. ACM SIGMOD Conf., pp. 353-363, 1990.
[19] N.A. Lorentzos and R.G. Johnson, "Extending Relational Algebra to Manipulate Temporal Data," Information Systems, vol. 13, no. 3, pp. 289-296, 1988.
[20] S.B. Navathe and R. Ahmed, "A Temporal Relational Model and a Query Language," Information Sciences, vol. 49, pp. 147-175, 1989.
[21] M. Overmars,“The design of dynamic data structures,” Springer Lecture Notes in Computer Science 156.Berlin: Springer Verlag, 1983.
[22] F.P. Preparata and M.I. Shamos, Computational Geometry. Springer-Verlag, 1985.
[23] B. Salzberg and V.J. Tsotras,“A comparison of access methods for temporal data,” submitted for publication, Tech. Report: Polytechnic Univ. (CATT-TR-94-81) or Northeastern Univ. (NU-CCS-94-21), 1994.
[24] H. Samet,“Hierarchical representations of collections of small rectangles,” ACM Computing Surveys, vol. 20, no. 4, pp. 271-309, Dec 1988.
[25] R.T. Snodgrass and I. Ahn, "Temporal Databases," Computer, vol. 19, no. 9, pp. 35-42, Sept. 1986.
[26] R.T. Snodgrass, “The Temporal Query Language TQuel,” ACM Trans. Database Systems, vol. 12, no. 2, pp. 247–298, 1987.
[27] V.J. Tsotras,“Managing the history of dynamic data structures,” PhD Thesis, Columbia Univ., 1990.
[28] V.J. Tsotras and B. Gopinath,“Managing the history of evolving databases,” ICDT’90 Int’l Conf. Database Theory, Lecture Notes in Computer Science 470, pp. 141-174.Berlin: Springer Verlag, 1990.
[29] V.J. Tsotras and B. Gopinath, "Optimal Versioning of Objects," Proc. Int'l Conf. Data Eng.,Tempe, Ariz., pp. 358-365, 1992.
[30] 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.
[31] D.E. Willard,“Log-logarithmic worst case queries are possible in space O(n),” Information Processing Letters, vol. 17, pp. 81-84, 1983.
[32] A.C. Yao,“Should tables be sorted ?, J. ACM, vol. 28, no 3, pp. 615-628, July 1981.

Index Terms:
Temporal databases, historical queries, access methods, data-structures, versioning.
Vassilis J. Tsotras, B. Gopinath, George W. Hart, "Efficient Management of Time-Evolving Databases," IEEE Transactions on Knowledge and Data Engineering, vol. 7, no. 4, pp. 591-608, Aug. 1995, doi:10.1109/69.404032
Usage of this product signifies your acceptance of the Terms of Use.