{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,7,6]],"date-time":"2026-07-06T19:50:18Z","timestamp":1783367418359,"version":"3.54.6"},"reference-count":46,"publisher":"Association for Computing Machinery (ACM)","issue":"1","content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Proc. VLDB Endow."],"published-print":{"date-parts":[[2008,8]]},"abstract":"<jats:p>\n            Immortal DB is a transaction time database system designed to enable high performance for temporal applications. It is built into a commercial database engine, Microsoft SQL Server. This paper describes how we integrated a temporal indexing technique, the TSB-tree, into Immortal DB to serve as the core access method. The TSB-tree provides high performance access and update for both current and historical data. A main challenge was integrating TSB-tree functionality while preserving original B+tree functionality, including concurrency control and recovery. We discuss the overall architecture, including our unique treatment of index terms, and practical issues such as uncommitted data and log management. Performance is a primary concern. To increase performance, versions are locally delta compressed, exploiting the commonality between adjacent versions of the same record. This technique is also applied to index terms in index pages. There is a tradeoff between query performance and storage space. We discuss optimizing performance regarding this tradeoff throughout the paper. The result of our efforts is a high-performance transaction time database system built\n            <jats:italic>into<\/jats:italic>\n            an RDBMS engine, which has not been achieved before. We include a thorough experimental study and analysis that confirms the very good performance that it achieves.\n          <\/jats:p>","DOI":"10.14778\/1453856.1453951","type":"journal-article","created":{"date-parts":[[2014,6,24]],"date-time":"2014-06-24T12:17:57Z","timestamp":1403612277000},"page":"870-881","source":"Crossref","is-referenced-by-count":51,"title":["Transaction time indexing with version compression"],"prefix":"10.14778","volume":"1","author":[{"given":"David","family":"Lomet","sequence":"first","affiliation":[{"name":"Microsoft Research Redmond, WA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Mingsheng","family":"Hong","sequence":"additional","affiliation":[{"name":"Cornell University Ithaca, NY"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Rimma","family":"Nehme","sequence":"additional","affiliation":[{"name":"Purdue University West Lafayette, IN"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Rui","family":"Zhang","sequence":"additional","affiliation":[{"name":"University of Melbourne Melbourne, Australia"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2008,8]]},"reference":[{"key":"e_1_2_1_1_1","volume-title":"Jomier: VQL: A Query Language for Multiversion Databases. International Workshop on Database Programming Languages, 160--179","author":"Abdessalem T.","year":"1998","unstructured":"T. Abdessalem and G. Jomier: VQL: A Query Language for Multiversion Databases. International Workshop on Database Programming Languages, 160--179 , 1998 . T. Abdessalem and G. Jomier: VQL: A Query Language for Multiversion Databases. International Workshop on Database Programming Languages, 160--179, 1998."},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1016\/0020-0190(94)00176-Y"},{"key":"e_1_2_1_3_1","volume-title":"An efficient multiversion access control in a Temporal Object Oriented Database. Journal of Object Technology","author":"Arumugam G.","year":"2006","unstructured":"G. Arumugam and M. Thangaraj : An efficient multiversion access control in a Temporal Object Oriented Database. Journal of Object Technology . 2006 . G. Arumugam and M. Thangaraj: An efficient multiversion access control in a Temporal Object Oriented Database. Journal of Object Technology. 2006."},{"key":"e_1_2_1_4_1","unstructured":"aTempo: aTempo. http:\/\/www.atempo.com\/  aTempo: aTempo. http:\/\/www.atempo.com\/"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1007\/s007780050028"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/223784.223785"},{"key":"e_1_2_1_7_1","volume-title":"Concurrency Control and Recovery in Database Systems","author":"Bernstein P.","year":"1987","unstructured":"P. Bernstein , V. Hadzilacos , and N. Goodman : Concurrency Control and Recovery in Database Systems . Addison-Wesley , 1987 . P. Bernstein, V. Hadzilacos, and N. Goodman: Concurrency Control and Recovery in Database Systems. Addison-Wesley, 1987."},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/63320.66513"},{"key":"e_1_2_1_9_1","volume-title":"Indexing Valid Time Intervals. DEXA,. 541--550","author":"Bozkaya T.","year":"1998","unstructured":"T. Bozkaya and M. Ozsoyoglu : Indexing Valid Time Intervals. DEXA,. 541--550 , 1998 . T. Bozkaya and M. Ozsoyoglu: Indexing Valid Time Intervals. DEXA,. 541--550, 1998."},{"key":"e_1_2_1_10_1","volume-title":"Efficient Complex Query Support for Multiversion XML Documents. EDBT, 161--178","author":"Chien S.","year":"2002","unstructured":"S. Chien , V. Tsotras , C. Zaniolo , and D. Zhang : Efficient Complex Query Support for Multiversion XML Documents. EDBT, 161--178 , 2002 . S. Chien, V. Tsotras, C. Zaniolo, and D. Zhang: Efficient Complex Query Support for Multiversion XML Documents. EDBT, 161--178, 2002."},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/249978.249980"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/872757.872779"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1147\/rd.303.0230"},{"key":"e_1_2_1_14_1","first-page":"433","volume":"18","author":"Elmasri R.","year":"1993","unstructured":"R. Elmasri , G. Wun , and V. Kouramajian: The Time Index and the Monotonic B+ tree. In {42} Chapter 18 , 433 -- 456 , 1993 . R. Elmasri, G. Wun, and V. Kouramajian: The Time Index and the Monotonic B+ tree. In {42} Chapter 18, 433--456, 1993.","journal-title":"Chapter"},{"key":"e_1_2_1_15_1","volume-title":"Ramachandran: An Efficient Transient Versioning Method. British National Conference on Databases. 155--171","author":"Gukal S.","year":"1995","unstructured":"S. Gukal , E. Omiecinski , and U. Ramachandran: An Efficient Transient Versioning Method. British National Conference on Databases. 155--171 , 1995 . S. Gukal, E. Omiecinski, and U. Ramachandran: An Efficient Transient Versioning Method. British National Conference on Databases. 155--171, 1995."},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1109\/69.224200"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/602259.602266"},{"key":"e_1_2_1_18_1","volume-title":"Efficient Indexing of Spatiotemporal Objects. EDBT, 251--268","author":"Hadjieleftheriou M.","year":"2002","unstructured":"M. Hadjieleftheriou , G. Kollios , V. Tsotras , and D. Gunopulos : Efficient Indexing of Spatiotemporal Objects. EDBT, 251--268 , 2002 . M. Hadjieleftheriou, G. Kollios, V. Tsotras, and D. Gunopulos: Efficient Indexing of Spatiotemporal Objects. EDBT, 251--268, 2002."},{"key":"e_1_2_1_19_1","volume-title":"Rdb: A Comprehensive Guide","author":"Hobbs L.","year":"1995","unstructured":"L. Hobbs , K. England . Rdb: A Comprehensive Guide . Digital Press , 1995 . L. Hobbs, K. England. Rdb: A Comprehensive Guide. Digital Press, 1995."},{"key":"e_1_2_1_20_1","unstructured":"IBM\n  : IBM Data Propagator. http:\/\/www306.ibm.com\/software\/data\/integration\/replication  IBM: IBM Data Propagator. http:\/\/www306.ibm.com\/software\/data\/integration\/replication"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1109\/69.755613"},{"key":"e_1_2_1_22_1","volume-title":"Transaction Timestamping in (Temporal) Databases. VLDB, 441--450","author":"Jensen C.","year":"2001","unstructured":"C. Jensen and D. Lomet : Transaction Timestamping in (Temporal) Databases. VLDB, 441--450 , 2001 . C. Jensen and D. Lomet: Transaction Timestamping in (Temporal) Databases. VLDB, 441--450, 2001."},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/1321440.1321574"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/166635.166659"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/191246.191298"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/1066157.1066295"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICDE.2006.162"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/67544.66956"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/93597.98744"},{"key":"e_1_2_1_30_1","volume-title":"Exploiting A History Database for Backup. VLDB, 380--390","author":"Lomet D.","year":"1993","unstructured":"D. Lomet and B. Salzberg : Exploiting A History Database for Backup. VLDB, 380--390 , 1993 . D. Lomet and B. Salzberg: Exploiting A History Database for Backup. VLDB, 380--390, 1993."},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1109\/IDEAS.2005.53"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/1142473.1142512"},{"key":"e_1_2_1_33_1","unstructured":"Lumigent: Lumigent Log Explorer. http:\/\/www.ssw.com.au\/ssw\/LogExplorer\/  Lumigent: Lumigent Log Explorer. http:\/\/www.ssw.com.au\/ssw\/LogExplorer\/"},{"key":"e_1_2_1_34_1","volume-title":"Oracle Flashback Technology. http\/\/www.oracle.com\/technology\/deploy\/availability\/htdocs\/ Flasflahback_Overview.htm","year":"2005","unstructured":"Oracle : Oracle Flashback Technology. http\/\/www.oracle.com\/technology\/deploy\/availability\/htdocs\/ Flasflahback_Overview.htm , 2005 Oracle: Oracle Flashback Technology. http\/\/www.oracle.com\/technology\/deploy\/availability\/htdocs\/ Flasflahback_Overview.htm, 2005"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1109\/69.404027"},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1145\/1142473.1142578"},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/319806.319816"},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/122050.122054"},{"key":"e_1_2_1_39_1","volume-title":"The TP-Index: A Dynamic and Efficient Indexing Mechanism for Temporal Databases. ICDE, 274--281","author":"Shen H.","year":"1994","unstructured":"H. Shen , B-C Ooi , and H. Lu : The TP-Index: A Dynamic and Efficient Indexing Mechanism for Temporal Databases. ICDE, 274--281 , 1994 H. Shen, B-C Ooi, and H. Lu: The TP-Index: A Dynamic and Efficient Indexing Mechanism for Temporal Databases. ICDE, 274--281, 1994"},{"key":"e_1_2_1_40_1","volume-title":"Inside Microsoft SQL Server 2005: The Storage Engine","author":"Server SQL","year":"2005","unstructured":"SQL Server : Inside Microsoft SQL Server 2005: The Storage Engine , MS Press , 2005 . SQL Server: Inside Microsoft SQL Server 2005: The Storage Engine, MS Press, 2005."},{"key":"e_1_2_1_41_1","doi-asserted-by":"crossref","unstructured":"M. Stonebraker. The Design of the POSTGRES Storage System. VLDB 289--300 1987.   M. Stonebraker. The Design of the POSTGRES Storage System. VLDB 289--300 1987.","DOI":"10.1109\/ICDE.1987.7272402"},{"key":"e_1_2_1_42_1","volume-title":"Benjamin\/Cummings","author":"Tansel U.","year":"1993","unstructured":"U. Tansel , J. Clifford , S. Gadia , A. Segev , and R. Snodgrass : Temporal Databases: Theory, Design, and Implementation . Benjamin\/Cummings , 1993 . U. Tansel, J. Clifford, S. Gadia, A. Segev, and R. Snodgrass: Temporal Databases: Theory, Design, and Implementation. Benjamin\/Cummings, 1993."},{"key":"e_1_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1007\/s007780050008"},{"key":"e_1_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1145\/235968.233311"},{"key":"e_1_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1016\/0306-4379(95)00011-R"},{"key":"e_1_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1007\/11687238_73"}],"container-title":["Proceedings of the VLDB Endowment"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.14778\/1453856.1453951","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,12,28]],"date-time":"2022-12-28T11:13:47Z","timestamp":1672226027000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.14778\/1453856.1453951"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2008,8]]},"references-count":46,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2008,8]]}},"alternative-id":["10.14778\/1453856.1453951"],"URL":"https:\/\/doi.org\/10.14778\/1453856.1453951","relation":{},"ISSN":["2150-8097"],"issn-type":[{"value":"2150-8097","type":"print"}],"subject":[],"published":{"date-parts":[[2008,8]]}}}