Optimal dynamic interval management in external memory

The authors present a space- and I/O-optimal external-memory data structure for answering stabbing queries on a set of dynamically maintained intervals. The data structure settles an open problem in databases and I/O algorithms by providing the first optimal external-memory solution to the dynamic interval management problem, which is a special case of 2-dimensional range searching and a central problem for object-oriented and temporal databases and for constraint logic programming. The data structure simultaneously uses optimal linear space (that is, O(N/B) blocks of disk space) and achieves the optimal O(log/sub B/ N+T/B) I/O query bound and O(log/sub B/ N) I/O update bound, where B is the I/O block size and T the number of elements in the answer to a query. The structure is also the first optimal external data structure for a 2-dimensional range searching problem that has worst-case as opposed to amortized update bounds. Part of the data structure uses a novel balancing technique for efficient worst-case manipulation of balanced trees, which is of independent interest.

[1]  J. T. Robinson,et al.  The K-D-B-tree: a search structure for large multidimensional dynamic indexes , 1981, SIGMOD '81.

[2]  Alok Aggarwal,et al.  The input/output complexity of sorting and related problems , 1988, CACM.

[3]  George S. Lueker,et al.  Adding range restriction capability to dynamic data structures , 1985, JACM.

[4]  Oliver Günther,et al.  The design of the cell tree: an object-oriented index structure for geometric databases , 1989, [1989] Proceedings. Fifth International Conference on Data Engineering.

[5]  Jeffrey Scott Vitter,et al.  Optimal Dynamic Interval Management in External Memory (extended abstract). , 1996, FOCS 1996.

[6]  Jürg Nievergelt,et al.  The Grid File: An Adaptable, Symmetric Multikey File Structure , 1984, TODS.

[7]  Gabriel M. Kuper,et al.  Constraint Query Languages , 1995, J. Comput. Syst. Sci..

[8]  Edward M. McCreight,et al.  Priority Search Trees , 1985, SIAM J. Comput..

[9]  大野 義夫,et al.  Computer Graphics : Principles and Practice, 2nd edition, J.D. Foley, A.van Dam, S.K. Feiner, J.F. Hughes, Addison-Wesley, 1990 , 1991 .

[10]  Y.N. Patt,et al.  The I/O subsystem/spl minus/a candidate for improvement , 1994, Computer.

[11]  David B. Lomet,et al.  The hB-tree: a multiattribute indexing method with good guaranteed performance , 1990, TODS.

[12]  Mark H. Overmars,et al.  The Design of Dynamic Data Structures , 1987, Lecture Notes in Computer Science.

[13]  R. Bayer,et al.  Organization and maintenance of large ordered indices , 1970, SIGFIDET '70.

[14]  Jeffrey Scott Vitter,et al.  External-Memory Algorithms for Processing Line Segments in Geographic Information Systems , 1996 .

[15]  Jeffrey Scott Vitter,et al.  Efficient 3-D range searching in external memory , 1996, STOC '96.

[16]  KanellakisParis,et al.  Indexing for Data Models with Constraints and Classes , 1996 .

[17]  Laura M. Haas,et al.  Exploiting Extensible DBMS in Integrated Geographic Information Systems , 1991, SSD.

[18]  Sridhar Ramaswamy,et al.  The P-range tree: a new data structure for range searching in secondary memory , 1995, SODA '95.

[19]  Sridhar Ramaswamy,et al.  Path Caching: A Technique for Optimal External Searching , 1994, PODS 1994.

[20]  Jon Louis Bentley,et al.  Multidimensional divide-and-conquer , 1980, CACM.

[21]  Derek Thompson,et al.  Fundamentals of spatial information systems , 1992, A.P.I.C. series.

[22]  Rolf Klein,et al.  Priority Search Trees in Secondary Memory (Extended Abstract) , 1987, WG.

[23]  Lars Arge,et al.  The Buuer Tree: a New Technique for Optimal I/o-algorithms ? , 1995 .

[24]  Sridhar Ramaswamy,et al.  Indexing for Data Models with Constraints and Classes , 1996, J. Comput. Syst. Sci..

[25]  Jack A. Orenstein Spatial query processing in an object-oriented database system , 1986, SIGMOD '86.

[26]  Kurt Mehlhorn,et al.  A new data structure for representing sorted lists , 1980, Acta Informatica.

[27]  Donald E. Knuth,et al.  Sorting and Searching , 1973 .

[28]  Donald E. Knuth,et al.  The Art of Computer Programming, Vol. 3: Sorting and Searching , 1974 .

[29]  H. Edelsbrunner A new approach to rectangle intersections part I , 1983 .

[30]  Sridhar Ramaswamy,et al.  OODB indexing by class-division , 1995, SIGMOD '95.

[31]  Edward M. Reingold,et al.  Binary Search Trees of Bounded Balance , 1973, SIAM J. Comput..

[32]  Lars Arge,et al.  Efficient External-Memory Data Structures and Applications , 1996, BRICS Dissertation Series.

[33]  Kurt Mehlhorn,et al.  Data Structures and Algorithms 3: Multi-dimensional Searching and Computational Geometry , 2012, EATCS Monographs on Theoretical Computer Science.

[34]  Kurt Mehlhorn,et al.  On the Average Number of Rebalancing Operations in Weight-Balanced Trees , 1980, Theor. Comput. Sci..

[35]  Gabriel M. Kuper,et al.  Constraint query languages (preliminary report) , 1990, PODS '90.

[36]  Thomas Ertl,et al.  Computer Graphics - Principles and Practice, 3rd Edition , 2014 .

[37]  M. Carter Computer graphics: Principles and practice , 1997 .

[38]  Roberto Tamassia,et al.  Dynamic algorithms in computational geometry , 1992, Proc. IEEE.

[39]  D. E. Vengro,et al.  Eecient 3-d Range Searching in External Memory , 1995 .

[40]  Christos Faloutsos,et al.  The R+-Tree: A Dynamic Index for Multi-Dimensional Objects , 1987, VLDB.

[41]  John Wilkes,et al.  An introduction to disk drive modeling , 1994, Computer.

[42]  Ralf Hartmut Güting,et al.  XP-Trees: External Priority Search Trees , 1990 .

[43]  Antonin Guttman,et al.  R-trees: a dynamic index structure for spatial searching , 1984, SIGMOD '84.

[44]  Douglas Comer,et al.  Ubiquitous B-Tree , 1979, CSUR.

[45]  Yale N. Patt,et al.  The I/O Subsystem - A Candidate for Improvement: Guest Editor's Introduction , 1994, Computer.

[46]  Hanan Samet,et al.  The Design and Analysis of Spatial Data Structures , 1989 .