Data Structures

ICDT '90

Volume 470 of the series Lecture Notes in Computer Science pp 141-174


Efficient algorithms for managing the history of evolving databases

  • Vassilis J. TsotrasAffiliated withDept. of Electrical Engineering, Center for Telecommunications Research, Columbia University
  • , B. GopinathAffiliated withDept. of Electrical and Computer Engineering and Dept. of Computer Science, Rutgers University

* Final gross prices may vary according to local VAT.

Get Access


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 (tT). 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)|).