22nd International Conference on Data Engineering (ICDE'06) (2006)
Apr. 3, 2006 to Apr. 7, 2006
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/ICDE.2006.162
David Lomet , Microsoft Research
Roger Barga , Microsoft Research
Mohamed F. Mokbel , University of Minnesota
German Shegalov , Max Planck Institute, Germany
Transaction time databases retain and provide access to prior states of a database. An update "inserts" a new record while preserving the old version. Immortal DB builds transaction time database support into a database engine, not in middleware. It supports as of queries returning records current at the specified time. It also supports snapshot isolation concurrency control. Versions are stamped with the "clock times" of their updating transactions. The timestamp order agrees with transaction serialization order. Lazy timestamping propagates timestamps to transaction updates after commit. Versions are kept in an integrated storage structure, with historical versions initially stored with current data. Time-splits of pages permit large histories to be maintained, and enable time based indexing, which is essential for high performance historical queries. Experiments show that Immortal DB introduces little overhead for accessing recent database states while providing access to past states.
R. Barga, G. Shegalov, D. Lomet and M. F. Mokbel, "Transaction Time Support Inside a Database Engine," 22nd International Conference on Data Engineering (ICDE'06)(ICDE), Atlanta, Georgia, 2006, pp. 35.