Archiving scientific data
- 1 March 2004
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Database Systems
- Vol. 29 (1) , 2-42
- https://doi.org/10.1145/974750.974752
Abstract
Archiving is important for scientific data, where it is necessary to record all past versions of a database in order to verify findings based upon a specific version. Much scientific data is held in a hierachical format and has a key structure that provides a canonical identification for each element of the hierarchy. In this article, we exploit these properties to develop an archiving technique that is both efficient in its use of space and preserves the continuity of elements through versions of the database, something that is not provided by traditional minimum-edit-distance diff approaches. The approach also uses timestamps. All versions of the data are merged into one hierarchy where an element appearing in multiple versions is stored only once along with a timestamp. By identifying the semantic continuity of elements and merging them into one data structure, our technique is capable of providing meaningful change descriptions, the archive allows us to easily answer certain temporal queries such as retrieval of any specific version from the archive and finding the history of an element. This is in contrast with approaches that store a sequence of deltas where such operations may require undoing a large number of changes or significant reasoning with the deltas. A suite of experiments also demonstrates that our archive does not incur any significant space overhead when contrasted with diff approaches. Another useful property of our approach is that we use XML format to represent hierarchical data and the resulting archive is also in XML. Hence, XML tools can be directly applied on our archive. In particular, we apply an XML compressor on our archive, and our experiments show that our compressed archive outperforms compressed diff-based repositories in space efficiency. We also show how we can extend our archiving tool to an external memory archiver for higher scalability and describe various index structures that can further improve the efficiency of some temporal queries on our archive.Keywords
This publication has 16 references indexed in Scilit:
- XMarkPublished by Elsevier ,2002
- Digest Values for DOM (DOMHASH)Published by RFC Editor ,2000
- Effective timestamping in databasesThe VLDB Journal, 2000
- The SWISS-PROT protein sequence database and its supplement TrEMBL in 2000Nucleic Acids Research, 2000
- Randomized AlgorithmsPublished by Cambridge University Press (CUP) ,1995
- Making data structures persistentJournal of Computer and System Sciences, 1989
- AnO(ND) difference algorithm and its variationsAlgorithmica, 1986
- A file comparison programSoftware: Practice and Experience, 1985
- The Tree-to-Tree Correction ProblemJournal of the ACM, 1979
- The source code control systemIEEE Transactions on Software Engineering, 1975