Efficient algorithms for managing the history of evolving databases
We propose a novel method for representing evolving databases by “evolving sets”, which is particularly useful when we are interested in reconstructing any past state of a database. This theoretical framework therefore reduces the problem concerning the history management of databases to the problem of efficiently managing the history of a set evolving in time. We present a dynamic algorithm that reconstructs the state of the set at a given time t in the past in O(|s(t)| + loglogT) time, where |s(t)| is the size of the answer and T is the maximal size of the time interval (t ≤ T). The space used is linear to the number of changes that occurred during the set's evolution. The resulting algorithm is thereby more efficient than all previous methods dealing with the history management of evolving databases. In fact the proposed algorithm is optimal within a constant factor, because a lower bound of Ω(|s(t)| + loglogT) is also proved. Furthermore, if a total of O((logT)1/c) parallel processors is available, where c is a positive constant (c ≥ 1), the above bound is reduced to O(|s(t)|).
Unable to display preview. Download preview PDF.