A Time Machine for XML

Ghislain Fourny, Daniela Florescu, Donald Kossmann, Markos Zaharioudakis · Repository for Publications and Research Data (ETH Zurich) · 2011

With sinking storage costs, it becomes more and more feasible, and popular, to retain past versions of documents and data.While undoing changes is worthy, this becomes even more valuable if the data is queryable.Nowadays, there are two widespread version control paradigms: document versioning (SVN, git, etc.) and versioned databases.The former handles any kind of document, even binary, but only sees lines of text, so that the query capability is limited.The latter provide fine-grained temporal query capabilities on highly structured data -but storing everything in a relational database is not desirable.The goal of this paper is to provide a unified framework for efficiently versioning, querying and updating not only data and documents, but also, inbetween, any kind of semi-structured information, like XML.We start with the XQuery programming language and meticulously extend its data model, its syntax and its processing model to make it seamlessly time-aware.We provide data structures and algorithms for the efficient implementation of such a versioning system.Finally, we show that there is no significant performance loss for traditional queries when enriching an existing engine with versioning capabilities.

Read the paper · More papers on PaperTik