Title :
Efficient differential timeslice computation
Author :
Torp, Kristian ; Mark, Leo ; Jensen, Christian S.
Author_Institution :
Dept. of Comput. Sci., Aalborg Univ., Denmark
Abstract :
Transaction-time databases support access to not only the current database state, but also previous database states. Supporting access to previous database states requires large quantities of data and necessitates efficient temporal query processing techniques. Previously, we presented a log based storage structure and algorithms for the differential computation of previous database states. Timeslices-i.e., previous database states-are computed by traversing a log of database changes, using previously computed and cached timeslices as outsets. When computing a new timeslice, the cache will contain two candidate outsets: an earlier outset and a later outset. The new timeslice can be computed by either incrementally updating the earlier outset or decrementally “downdating” the later outset using the log. The cost of this computation is determined by the size of the log between the outset and the new timeslice. The paper proposes an efficient algorithm that identifies the cheaper outset for the differential computation. The basic idea is to compute the sizes of the two pieces of the log by maintaining and using a tree structure on the timestamps of the database changes in the log. The lack of a homogeneous node structure, a controllable and high fill factor for nodes, and of appropriate node allocation in existing tree structures (e.g., B+ trees, Monotonic B+ trees, and Append only trees) render existing tree structures unsuited for our use. Consequently, a specialized tree structure, the pointer-less insertion tree, is developed to support the algorithm. As a proof of concept, we have implemented a main memory version of the algorithm and its tree structure
Keywords :
query processing; temporal databases; transaction processing; tree data structures; trees (mathematics); cached timeslices; candidate outsets; current database state; database changes; differential computation; differential timeslice computation; log based storage structure; pointer-less insertion tree; previous database states; specialized tree structure; temporal query processing techniques; transaction-time databases; tree structure; Banking; Computational efficiency; Data models; Database languages; Database systems; Hardware; History; Query processing; Transaction databases; Tree data structures;
Journal_Title :
Knowledge and Data Engineering, IEEE Transactions on