Author:
Martin Haeusler
Affiliation:
University of Innsbruck, Austria
Keyword(s):
Key-Value Store, Versioning, Historization, Persistence.
Related
Ontology
Subjects/Areas/Topics:
Data Engineering
;
Database Architecture and Performance
;
Databases and Data Security
;
Nosql Databases
;
Open Source Databases
Abstract:
Versioning of database content is rapidly gaining importance in modern applications, due to the need for reliable
auditing, data history analysis, or due to the fact that temporal information is inherent to the problem
domain. Data volume and complexity also increase, demanding a high level of scalability. However, implementations
are rarely found in practice. Existing solutions treat versioning as an add-on instead of a first-class
citizen, and therefore fail to take full advantage of its benefits. Often, there is also a trade-off between performance
and the age of an entry, with newer entries being considerably faster to retrieve. This paper provides
three core contributions. First, we provide a formal model that captures and formalizes the properties of the
temporal indexing problem in an intuitive way. Second, we provide an in-depth discussion on the unique
benefits in transaction control which can be achieved by treating versioning as a first-class citizen in a data
store as opp
osed to treating it as an add-on feature to a non-versioned system. We also introduce an index
model that offers equally fast access to all entries, regardless of their age. The third contribution is an opensource
implementation of the presented formalism in the form of a versioned key-value store, which serves as
a proof-of-concept prototype. An evaluation of this prototype demonstrates the scalability of our approach.
(More)