Efficient algorithms for managing the history of evolving databases

  • Vassilis J. Tsotras
  • B. Gopinath
Data Structures
Part of the Lecture Notes in Computer Science book series (LNCS, volume 470)


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


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    M. Ajtai, “A Lower Bound for Finding Predecessors in Yao's Cell Probe Model”, Combinatorica, to appear.Google Scholar
  2. 2.
    M. Ajtai, M. Fredman, J. Komlos, “Hash Functions for Priority Queues”, 24th IEEE FOCS 1983, pp 299–303.Google Scholar
  3. 3.
    B. Chazelle, “How to Search in History”, Information and Control, 1985, Vol. 64, pp 77–99.Google Scholar
  4. 4.
    M. Dietzfelbinger, A. Karlin, K. Mehlhorn, F. Meyer, H. Rohnhert and R. Tarjan, “Dynamic Perfect Hashing: Upper and Lower Bounds”, Proc. 29th IEEE FOCS, 1988.Google Scholar
  5. 5.
    D.P. Dobkin, J.L. Munro, “Efficient Uses of the Past”, 21st IEEE FOCS, 1980, pp 200–206.Google Scholar
  6. 6.
    A. Fiat, M. Naor, “Implicit O(1) Probe Search”, manuscript, 1988.Google Scholar
  7. 7.
    A. Fiat, M. Naor, A. Schaffer, J.P. Schmidt, A. Siegel, “Storing and Searching a Multikey Table”, 20-th ACM STOC, 1988, pp 344–353.Google Scholar
  8. 8.
    A. Fiat, M. Naor, J.P. Schmidt, A. Siegel, “Non-Oblivious Hashing”, 20-th ACM STOC, 1988, pp 367–376.Google Scholar
  9. 9.
    M.L. Fredman, J. Komlos, “On the Size of Separating Systems and Families of Perfect Hash Functions”, SIAM J. Alg. Disc. Math., March 1984, Vol.5, No.1, pp 61–68.Google Scholar
  10. 10.
    M.L. Fredman, J. Komlos, E. Szemeredi, “Storing a Sparse Table with O(1) Worst Case Access Time”, JACM, July 1984, Vol.31, pp 538–544.Google Scholar
  11. 11.
    M.L. Fredman, M. Saks, “The Cell Probe Complexity of Dynamic Data Structures”, to appear.Google Scholar
  12. 12.
    G.H. Gonnet, “Expected Length of the Longest Probe Sequence in Hash Code Searching”, JACM, April 1981, Vol.28, No.2, pp 289–304.Google Scholar
  13. 13.
    K. Melhorn, “Data Structures and Algorithms I: Sorting and Searching”, Springer Verlag, Berlin, Heidelberg, 1984.Google Scholar
  14. 14.
    J.I. Munro, “Searching a Two Key Table Under a Single Key”, 19-th ACM STOC, 1987, pp 383–387.Google Scholar
  15. 15.
    M. Overmars, “The Design of Dynamic Data Structures”, Springer Lecture Notes in Comp. Sc. 156, Springer Verlag, Berlin, 1983.Google Scholar
  16. 16.
    F.P. Preparata, M.I. Shamos, “Computational Geometry, An Introduction”, Springer Verlag, Berlin, 1985.Google Scholar
  17. 17.
    M. Snir, “On Parallel Searching”, SIAM J. of Computing, Vol. 14, No 3, Aug. 1985, pp 688–708.Google Scholar
  18. 18.
    V.J. Tsotras, B. Gopinath, “Efficient Algorithms Managing the History of Time-Evolving Forests”, Bellcore Tech. Memo., TM-ARH-013880, 1989.Google Scholar
  19. 19.
    V.J. Tsotras, B. Gopinath, G. Hart, “A New Bound On Parallel Searching”, IEEE Fourth Annual Symposium on Parallel Processing, April 4–6, 1990, Vol 2, pp 613–622.Google Scholar
  20. 20.
    L. Valiant, “Parallelism in Comparison Based Problems”, SIAM J. of Computing, Sept. 1975, Vol. 4, No 3, pp 348–355.Google Scholar
  21. 21.
    P. Van Emde Boas, R. Kaas and E. Zijlstra, “Design and Implementation of an Efficient Priority Queue”, Math. Systems Theory 10, 1977, pp 99–127.Google Scholar
  22. 22.
    D.E. Willard, “Log-logarithmic Worst case Queries are Possible in Space O(n)”, Information Processing Letters, 1983, Vol 17, pp 81–84.Google Scholar
  23. 23.
    A.C. Yao, “Should Tables Be Sorted? ”, JACM, July 1981, Vol.28, No.3, pp 615–628.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1990

Authors and Affiliations

  • Vassilis J. Tsotras
    • 1
  • B. Gopinath
    • 2
  1. 1.Dept. of Electrical Engineering, Center for Telecommunications ResearchColumbia UniversityNew York
  2. 2.Dept. of Electrical and Computer Engineering and Dept. of Computer ScienceRutgers UniversityNew Brunswick

Personalised recommendations