A Framework for Access Methods for Versioned Data
This paper presents a framework for understanding and constructing access methods for versioned data. Records are associated with version ranges in a version tree. A minimal representation for the end set of a version range is given. We show how, within a page, a compact representation of a record can be made using start version of the version range only. Current-version splits, version-and-key splits and consolidations are explained. These operations preserve an invariant which allows visiting only one page at each level of the access method when doing exact-match search (no backtracking). Splits and consolidations also enable efficient stabbing queries by clustering data alive at a given version into a small number of data pages. Last, we survey the methods in the literature to show in what ways they conform or do not conform to our framework. These methods include temporal access methods, branched versioning access methods and spatio-temporal access methods. Our contribution is not to create a new access method but to bring to light fundamental properties of version-splitting access methods and to provide a blueprint for future versioned access methods. In addition, we have not made the unrealistic assumption that transactions creating a new version make only one update, and have shown how to treat multiple updates.
KeywordsAccess Method Versioned Data Storage Unit Version Tree Version Range
Unable to display preview. Download preview PDF.
- 1.Becker, B., Gschwind, S., Ohler, T., Seeger, B., Widmayer, P.: On optimal multiversion access structures. In: Proc. Int. Symp. on Spatial Databases, Singapore, pp. 123–141 (1993)Google Scholar
- 2.Dietz, P.F., Sleator, D.D.: Two algorithms for maintaining order in a list. In: Proceedings of the nineteenth annual ACM conference on Theory of computing (1987)Google Scholar
- 3.Driscoll, J.R., Sarnak, N., Sleator, D.D.: Making data structure persistent. Journal of Computer and System Sciences 38 (February 1989)Google Scholar
- 4.Easton, M.C.: Key-sequence data sets on indelible storage. IBM J. Res. Development, 230–241 (1986)Google Scholar
- 5.Evangelidis, G., Lomet, D.B., Salzberg, B.: The hB-Pi-Tree: A multi-attribute index supporting concurrency, recovery and node consolidation. The VLDB Jounal, 1–25 (January 1997)Google Scholar
- 7.Jiang, L., Salzberg, B., Lomet, D., Barrena, M.: The BT-Tree: A branched and temporal access method. In: International Conference on Very Large Data Bases, pp. 451–460 (2000)Google Scholar
- 9.Kanoulas, E., Evangelidis, G.: Indexing of spatiotemporal data with the hB-Pi Tree. In: HDMS 2002 1st Hellenic Data Management Symposium, Athens, Hellas (July 2002)Google Scholar
- 10.Lanka, S., Mays, E.: Fully persistent B + -trees. In: Proceedings of ACM/SIGMOD Annual Conference on Management of Data, pp. 426–435 (1991)Google Scholar
- 11.Lomet, D., Salzberg, B.: The performance of a multiversion access method. In: Proceedings of ACM/SIGMOD Annual Conference on Management of Data, pp. 354–363 (1990)Google Scholar
- 12.Tao, Y., Papadias, D.: The MV3R-Tree: A spatio-temporal access method for timestamp and interval queries. In: VLDB 2001, Proceedings of 27th International Conference on Very Large Data Bases, September 2001, pp. 431–440 (2001)Google Scholar
- 13.Varman, P.J., Verma, R.M.: An efficient multiversion access structure. IEEE Transaction on Knowledge and Data Engineering, 391–409 (May/June 1997)Google Scholar