Skip to main content

External Memory Data Structures

  • Chapter

Part of the book series: Massive Computing ((MACO,volume 4))

Abstract

In many massive dataset applications the data must be stored in space and query efficient data structures on external storage devices. Often the data needs to be changed dynamically. In this chapter we discuss recent advances in the development of provably worst-case efficient external memory dynamic data structures. We also briefly discuss some of the most popular external data structures used in practice.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   629.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   799.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD   799.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Bibliography

  • D. J. Abel and D. M. Mark: A comparative analysis of some two-dimensional orderings. Intl. J. Geographic Informations Systems, 4 (1): 21–31, 1990.

    Article  Google Scholar 

  • J. Abello, A. L. Buchsbaum, and J. R. Westbrook: A functional approach to external graph algorithms. In Proc. Annual European Symposium on Algorithms, LNCS 1461, pages 332–343, 1998.

    Google Scholar 

  • P. K. Agarwal, L. Arge, G. S. Brodai, and J. S. Vitter: I/O-efficient dynamic point location in monotone planar subdivisions. In Proc. ACM-SIAM Symp. on Discrete Algorithms, pages 1116–1127, 1999.

    Google Scholar 

  • P. K. Agarwal, L. Arge, and J. Erickson: Indexing moving points. In Proc. ACM Symp. Principles of Database Systems, pages 175–186, 2000a.

    Google Scholar 

  • P. K. Agarwal, L. Arge, J. Erickson, P. Franciosa, and J. Vitter: Efficient searching with linear constraints. Journal of Computer and System Sciences, 61 (2): 194–216, 2000b.

    Article  MathSciNet  MATH  Google Scholar 

  • P. K. Agarwal, L. Arge, and S. Govindarajan: External range counting. Manuscript, 2001a.

    Google Scholar 

  • P. K. Agarwal, L. Arge, T. M. Murali, K. Varadarajan, and J. S. Vitter: I/O-efficient algorithms for contour line extraction and planar graph blocking. In Proc. ACM-SIAM Symp. on Discrete Algorithms, pages 117–126, 1998.

    Google Scholar 

  • P. K. Agarwal, L. Arge, and J. Vahrenhold: A time responsive indexing scheme for moving points. Submitted, 2001b.

    Google Scholar 

  • Pankaj K. Agarwal and Jeff Erickson: Geometric range searching and its relatives. In B. Chazelle, J. E. Goodman, and R. Pollack, editors, Advances in Discrete and Computational Geometry, volume 223 of Contemporary Mathematics, pages 1–56. American Mathematical Society, Providence, RI, 1999.

    Chapter  Google Scholar 

  • A. Aggarwal and J. S. Vitter: The Input/Output complexity of sorting and related problems. Communications of the ACM, 31 (9): 1116–1127, 1988.

    Article  MathSciNet  Google Scholar 

  • L. Arge: The buffer tree: A new technique for optimal I/O-algorithms In Proc. Workshop on Algorithms and Data Structures, LNCS 955, pages 334–345, 1995a. A complete version appears as BRICS technical report RS-96–28, University of Aarhus.

    Google Scholar 

  • L. Arge: The I/O-complexity of ordered binary-decision diagram manipulation. In Proc. Int. Symp. on Algorithms and Computation, LNCS 1004, pages 82–91, 1995b. A complete version appears as BRICS technical report RS-96–29, University of Aarhus.

    Google Scholar 

  • L. Arge, P. Ferragina, R. Grossi, and J. Vitter: On sorting strings in external memory. In Proc. ACM Symp. on Theory of Computation, pages 540–548, 1997.

    Google Scholar 

  • L. Arge, K. H. Hinrichs, J. Vahrenhold, and J. S. Vitter: Efficient bulk operations on dynamic R-trees. In Proc. Workshop on Algorithm Engineering, LNCS 1619, pages 328–347, 1999a.

    Google Scholar 

  • L. Arge, O. Procopiuc, S. Ramaswamy, T. Suel, and J. S. Vitter: Theory and practice of I/O-efficient algorithms for multidimensional batched searching problems. In Proc. ACM-SIAM Symp. on Discrete Algorithms, pages 685–694, 1998.

    Google Scholar 

  • L. Arge, V. Samoladas, and J. S. Vitter: On two-dimensional indexability and optimal range search indexing. In Proc. ACM Symp. Principles of Database Systems, pages 346–357, 1999b.

    Google Scholar 

  • L. Arge and S.-M. Teh, 2000. Unpublished results.

    Google Scholar 

  • L. Arge, L. Toma, and J. S. Vitter: I/O-efficient algorithms for problems on grid-based terrains. In Proc. Workshop on Algorithm Engineering and Experimentation, 2000.

    Google Scholar 

  • L. Arge and J. Vahrenhold: I/O-efficient dynamic planar point location. In Proc. ACM Symp. on Computational Geometry, pages 191–200, 2000.

    Google Scholar 

  • L. Arge, D. E. Vengroff, and J. S. Vitter: External-memory algorithms for processing line segments in geographic information systems. In Proc. Annual European Symposium on Algorithms, LNCS 979, pages 295–310, 1995. To appear in special issues of Algorithmica on Geographical Information Systems.

    Google Scholar 

  • L. Arge and J. S. Vitter: Optimal dynamic interval management in external memory. In Proc. IEEE Symp. on Foundations of Comp. Sci., pages 560–569, 1996.

    Google Scholar 

  • S. Arya, D. M. Mount, N. S. Netanyahu, R. Silverman, and A. Wu: An optimal algorithm for approximate nearest neighbor searching. In Proc. 5th ACM-SIAM Sympos. Discrete Algorithms, pages 573–582, 1994.

    Google Scholar 

  • Tetsuo Asano, Desh Ranjan, Thomas Roos, Emo Welzl, and Peter Widmayer: Space-filling curves and their use in the design of geometric data structures. Theoret. Comput. Sci., 181 (1): 3–15, July 1997.

    Article  MathSciNet  MATH  Google Scholar 

  • J. Basch, L. J. Guibas, and J. Hershberger: Data structures for mobile data. Journal of Algorithms, 31 (1): 1–28, 1999.

    Article  MathSciNet  MATH  Google Scholar 

  • H. Baumgarten, H. Jung, and K. Mehlhorn: Dynamic point location in general subdivisions. Journal of Algorithms, 17: 342–380, 1994.

    Article  MathSciNet  MATH  Google Scholar 

  • R. Bayer and E. McCreight: Organization and maintenance of large ordered indexes. Acta Informatica, 1: 173–189, 1972.

    Article  MATH  Google Scholar 

  • B. Becker, S. Gschwind, T. Ohler, B. Seeger, and P. Widmayer: An asymptotically optimal multiversion B-tree. VLDB Journal, 5 (4): 264–275, 1996.

    Article  Google Scholar 

  • N. Beckmann, H.-P. Kriegel, R. Schneider, and B. Seeger: The R*-tree: An efficient and robust access method for points and rectangles. In Proc. SIGMOD Intl. Conf. on Management of Data, pages 322–331, 1990.

    Google Scholar 

  • M. A. Bender, E. D. Demaine, and M Farach-Colton: Cache-oblivious B-trees. In Proc. IEEE Symp. on Foundations of Comp. Sci., pages 339–409, 2000.

    Google Scholar 

  • J. L. Bentley: Decomposable searching problems. Information Processing Letters, 8 (5): 244–251, 1979.

    Article  MathSciNet  MATH  Google Scholar 

  • S. Berchtold, C. Böhm, D. A. Keim, and H.-P. Kriegel: A cost model for nearest neighbor search in high-dimensional data spaces. In Proc. ACM Symp. Principles of Database Systems, pages 78–86, 1997.

    Google Scholar 

  • S. Berchtold, C. Böhm, and H-P. Kriegel: Improving the query performance of high-dimensional index structures by bulk load operations. In Proc. Conference on Extending Database Technology, LNCS 1377, pages 216–230, 1998a.

    Google Scholar 

  • S. Berchtold, B. Ertl, D. A. Keim, H.-P. Kriegel, and T. Seidl: Fast nearest neighbor search in high-dimensional spaces. In Proc. Annual IEEE Conference on Data Engineering, pages 209–218, 1998b.

    Chapter  Google Scholar 

  • S. Berchtold, D. A. Keim, and H.-P. Kriegel: The X-tree: An index structure for high-dimensional data. In Proc. International Conf. on Very Large Databases, pages 28–39, 1996.

    Google Scholar 

  • Sergei N. Bespamyatnikh: An optimal algorithm for closets pair main- tenance. Discrete and Computational Geometry, 19: 175–195, 1998.

    Article  MathSciNet  Google Scholar 

  • G. Blankenagel and R. H. Güting: XP-trees—External priority search trees. Technical report, FernUniversität Hagen, Informatik-Bericht Nr. 92, 1990.

    Google Scholar 

  • K. Brengel, A. Crauser, P. Ferragina, and U. Meyer: An experimental study of priority queues in external memory. In Proc. Workshop on Algorithm Engineering, LNCS 1668, pages 345–358, 1999.

    Google Scholar 

  • G. S. Brodal and J. Katajainen: Worst-case efficient external-memory priority queues. In Proc. Scandinavian Workshop on Algorithms Theory, LNCS 1432, pages 107–118, 1998.

    Google Scholar 

  • Adam L. Buchsbaum: Michael Goldwasser, Suresh Venkatasubramanian, and Jeffery R. Westbrook. On external memory graph traversal. In Proc. ACM-SIAM Symp. on Discrete Algorithms, pages 859–860, 2000.

    Google Scholar 

  • P. Callahan, M. T. Goodrich, and K. Ramaiyer: Topology B-trees and their applications. In Proc. Workshop on Algorithms and Data Structures, LNCS 955, pages 381–392, 1995.

    Chapter  Google Scholar 

  • P. B. Callahan and S. R. Kosaraju: A decomposition of multidimensional point sets with applications to k-nearest-neighbors and n-body potential fields. Journal of the ACM, 42 (1): 67–90, 1995a.

    Article  MathSciNet  MATH  Google Scholar 

  • Paul B. Callahan and S. Rao Kosaraju: Algorithms for dynamic closest-pair and n-body potential fields. In Proc. 6th ACM-SIAM Sympos. Discrete Algorithms, pages 263–272, 1995b.

    Google Scholar 

  • T. M. Chan: Random sampling, halfspace range reporting, and construction of (G k)-levels in three dimensions. SIAM Journal of Computing, 30 (2): 561–575, 2000.

    Article  MathSciNet  MATH  Google Scholar 

  • B. Chazelle and L. J. Guibas: Fractional cascading: I. A data structuring technique. Algorithmica, 1: 133–162, 1986.

    Article  MathSciNet  MATH  Google Scholar 

  • Bernard Chazelle: Filtering search: a new approach to query-answering. SIAM J. Comput., 15 (3): 703–724, 1986.

    Article  MathSciNet  MATH  Google Scholar 

  • Bernard Chazelle: Lower bounds for orthogonal range searching: I. the reporting case. Journal of the ACM, 37 (2): 200–212, April 1990.

    Article  MathSciNet  MATH  Google Scholar 

  • S. W. Cheng and R. Janardan: New results on dynamic planar point location. SIAM J. Comput., 21 (5): 972–999, 1992.

    Article  MathSciNet  MATH  Google Scholar 

  • Y.-J. Chiang, M. T. Goodrich, E. F. Grove, R. Tamassia, D. E. Vengroff, and J. S. Vitter: External-memory graph algorithms. In Proc. ACM-SIAM Symp. on Discrete Algorithms, pages 139–149, 1995.

    Google Scholar 

  • Y.-J. Chiang and C. T. Silva: I/O optimal isosurface extraction. In Proc. IEEE Visualization, pages 293–300, 1997.

    Google Scholar 

  • Y.-J. Chiang and C. T. Silva: External memory techniques for isosurface extraction in scientific visualization. In J. Abello and J. S. Vitter, editors, External memory algorithms, volume 50 of DIMACS series in Discrete Mathematics and Theoretical Computer Science, pages 247277. American Mathematical Society, 1999.

    Google Scholar 

  • Y.-J. Chiang, C. T. Silva, and W. J. Schroeder: Interactive out-of-core isosurface extraction. In Proc. IEEE Visualization, pages 167–174, 1998.

    Google Scholar 

  • P. Ciacca, M. Patella, and P. Zezula: M-tree: An efficient access method for similarity search in metric spaces. In Proc. International Conf. on Very Large Databases, pages 426–435, 1997.

    Google Scholar 

  • D. Comer: The ubiquitous B-tree. ACM Computing Surveys, 11 (2): 121–137, 1979.

    Article  MathSciNet  MATH  Google Scholar 

  • T. H. Cormen, C. E. Leiserson, and R. L. Rivest: Introduction to Algorithms. The MIT Press, Cambridge, Mass., 1990.

    MATH  Google Scholar 

  • A. Crauser and P. Ferragina: On constructing suffix arrays in external memory. In Proc. Annual European Symposium on Algorithms, LNCS, 1643, pages 224–235, 1999.

    Google Scholar 

  • A. Crauser, P. Ferragina, K. Mehlhorn, U. Meyer, and E. Ramos: Randomized external-memory algorithms for some geometric problems. In Proc. ACM Symp. on Computational Geometry, pages 259–268, 1998.

    Google Scholar 

  • M. de Berg, J. Gudmundsson, M. Hammar, and M. Overmars: On R-trees with low stabbing number. In Proc. Annual European Symposium on Algorithms, pages 167–178, 2000.

    Google Scholar 

  • D. J. DeWitt, N. Kabra, J. Luo, J. M. Patel, and J.-B. Yu: Client-server paradise. In Proceedings of VLDB Conference, pages 558–569, 1994.

    Google Scholar 

  • J. R. Driscoll, N. Sarnak, D. D. Sleator, and R. Tarjan: Making data structures persistent. Journal of Computer and System Sciences, 38: 86–124, 1989.

    Article  MathSciNet  MATH  Google Scholar 

  • H. Edelsbrunner: A new approach to rectangle intersections, part I. Int. J. Computer Mathematics, 13: 209–219, 1983a.

    Article  MATH  Google Scholar 

  • H. Edelsbrunner: A new approach to rectangle intersections, part II. Int. J. Computer Mathematics, 13: 221–229, 1983b.

    Article  MATH  Google Scholar 

  • H. Edelsbrunner and M. Overmars: Batched dynamic solutions to decomposable searching problems. Journal of Algorithms, 6: 515–542, 1985.

    Article  MathSciNet  MATH  Google Scholar 

  • G. Evangelidis, D. Lomet, and B. Salzberg: The hb“-tree: A multi-attribute index supporting concurrency, recovery and node consolidation. The VLDB Journal, 6 (1): 1–25, 1997.

    Article  Google Scholar 

  • R. Fadel, K. V. Jakobsen, J. Katajainen, and J. Teuhola: Heaps and heapsort on secondary storage. Theoretical Computer Science, 220 (2): 345–362, 1999.

    Article  MathSciNet  MATH  Google Scholar 

  • M. Farach, P. Ferragina, and S. Muthukrishnan: Overcoming the memory bottleneck in suffix tree construction. In Proc. IEEE Symp. on Foundations of Comp. Sci., pages 174–183, 1998.

    Google Scholar 

  • P. Ferragina and R. Grossi: A fully-dynamic data structure for external substring search. In Proc. ACM Symp. on Theory of Computation, pages 693–702, 1995.

    Google Scholar 

  • P. Ferragina and R. Grossi: Fast string searching in secondary storage: Theoretical developments and experimental results. In Proc. ACM-SIAM Symp. on Discrete Algorithms, pages 373–382, 1996.

    Google Scholar 

  • P. Ferragina and F. Luccio: Dynamic dictionary matching in external memory. Information and Computation, 146 (2): 85–99, 1998.

    Article  MathSciNet  MATH  Google Scholar 

  • E. Feuerstein and A. Marchetti-Spaccamela: Memory paging for connectivity and path problems in graphs. In Proc. Int. Symp. on Algorithms and Computation, LNCS 762, pages 416–425, 1993.

    Google Scholar 

  • P. Franciosa and M. Talamo. Time optimal halfplane search on external memory. Unpublished manuscript, 1997.

    Google Scholar 

  • P. G. Franciosa and M. Talamo: Orders, k-sets and fast halfplane search on paged memory. In Proc. Workshop on Orders, Algorithms and Applications (ORDAL’94), LNCS 831, pages 117–127, 1994.

    Chapter  Google Scholar 

  • G. N. Frederickson: A structure for dynamically maintaining rooted trees. In Proc. ACM-SIAM Symp. on Discrete Algorithms, pages 175184, 1993.

    Google Scholar 

  • M. Frigo, C. E. Leiserson, H. Prokop, and S. Ramachandran: Cache-oblivious algorithms. In Proc. IEEE Symp. on Foundations of Comp. Sci., pages 285–298, 1999.

    Google Scholar 

  • V. Gaede and O. Günther: Multidimensional access methods. ACM Computing Surveys, 30 (2): 170–231, 1998.

    Article  Google Scholar 

  • M. T. Goodrich, J.-J. Tsay, D. E. Vengroff, and J. S. Vitter: External-memory computational geometry. In Proc. IEEE Symp. on Foundations of Comp. Sci., pages 714–723, 1993.

    Google Scholar 

  • S. Govindarajan, T. Lukovszki, A. Maheshwari, and N. Zeh: I/O-efficient well-separated pair decomposition and its applications. In Proc. Annual European Symposium on Algorithms, pages 220–231, 2000.

    Google Scholar 

  • D. Greene: An implementation and performance analysis of spatial data access methods. In Proc. IEEE International Conference on Data Engineering, pages 606–615, 1989.

    Google Scholar 

  • R. Grossi and G. F. Italiano: Efficient cross-tree for external memory. In J. Abello and J. S. Vitter, editors, External Memory Algorithms, volume 50 of DIMACS series in Discrete Mathematics and Theoretical Computer Science, pages 87–106. American Mathematical Society, 1999a. Revised version available at ftp://ftp.di.unipi.it/pub/techreports/TR-00–16.ps.Z.

    Google Scholar 

  • R. Grossi and G. F. Italiano: Efficient splitting and merging algorithms for order decomposable problems. Information and Computation, 154 (1): 1–33, 1999b.

    Article  MathSciNet  MATH  Google Scholar 

  • O. Günther: The design of the cell tree: An object-oriented index structure for geometric databases. In Proc. Annual IEEE Conference on Data Engineering, pages 598–605, 1989.

    Google Scholar 

  • A. Guttman: R-trees: A dynamic index structure for spatial searching. In Proc. SIGMOD Intl. Conf. on Management of Data, pages 47–57, 1984.

    Google Scholar 

  • J. M. Hellerstein, E. Koutsoupias, and C. H. Papadimitriou: On the analysis of indexing schemes. In Proc. ACM Symp. Principles of Database Systems, pages 249–256, 1997.

    Google Scholar 

  • K. H. Hinrichs: The grid file system: Implementation and case studies of applications. PhD thesis, Dept. Information Science, ETH, Zürich, 1985.

    Google Scholar 

  • G. R. Hjaltason and H. Samet: Ranking in spatial databases. In Proc. of Advances in Spatial Databases, LNCS 951, pages 83–95, 1995.

    Chapter  Google Scholar 

  • S. Huddleston and K. Mehlhorn: A new data structure for representing sorted lists. Acta Informatica, 17: 157–184, 1982.

    Article  MathSciNet  MATH  Google Scholar 

  • D. Hutchinson, A. Maheshwari, J-R. Sack, and R. Velicescu: Early experiences in implementing the buffer tree. In Proc. Workshop on Algorithm Engineering, pages 92–103, 1997.

    Google Scholar 

  • D. Hutchinson, A. Maheshwari, and N. Zeh: An external-memory data structure for shortest path queries. In Proc. Annual Combinatorics and Computing Conference, LNCS 1627, pages 51–60, 1999.

    Google Scholar 

  • Ch. Icking, R. Klein, and Th. Ottmann: Priority search trees in secondary memory. In Proc. Graph-Theoretic Concepts in Computer Science, LNCS 314, pages 84–93, 1987.

    Google Scholar 

  • I. Kamel and C. Faloutsos: On packing R-trees. In Proc. International Conference on Information and Knowledge Management, pages 490499, 1993.

    Google Scholar 

  • I. Kamel and C. Faloutsos: Hilbert R-tree: An improved R-tree using fractals. In Proc. International Conf. on Very Large Databases, pages 500–509, 1994.

    Google Scholar 

  • P. C. Kanellakis, S. Ramaswamy, D. E. Vengroff, and J. S. Vitter: Indexing for data models with constraints and classes. Journal of Computer and System Sciences, 52 (3): 589–612, 1996.

    Article  MathSciNet  MATH  Google Scholar 

  • K. V. R. Kanth and A. K. Singh: Optimal dynamic range searching in non-replicating index structures. In Proc. International Conference on Database Theory, LNCS 1540, pages 257–276, 1999.

    Google Scholar 

  • N. Katayama and S. Satoh: The SR-tree: An index structure for high-dimensional nearest-neighbor queries. In Proc. SIGMOD Intl. Conf. on Management of Data, pages 369–380, 1997.

    Google Scholar 

  • D. E. Knuth: Sorting and Searching, volume 3 of The Art of Computer Programming. Addison-Wesley, Reading MA, second edition, 1998.

    Google Scholar 

  • G. Kollios, D. Gunopulos, and V. J. Tsotras: Nearest neighbor queries in a mobile environment. In Proc. International Workshop on SpatioTemporal Database Management, LNCS 1678, pages 119–134, 1999a.

    Google Scholar 

  • G. Kollios, D. Gunopulos, and V. J. Tsotras: On indexing mobile objects. In Proc. Annu. ACM Sympos. Principles Database Syst., pages 261272, 1999b.

    Google Scholar 

  • F. Korn, N. Sidiropoulos, C. Faloutsos, E. Siegel, and Z. Protopapas: Fast nearest neighbor search in medical image databases. In Proc. International Conf. on Very Large Databases, pages 215–226, 1996.

    Google Scholar 

  • E. Koutsoupias and D. S. Taylor: Tight bounds for 2-dimensional indexing schemes. In Proc. ACM Symp. Principles of Database Systems, pages 52–58, 1998.

    Google Scholar 

  • V. Kumar and E. Schwabe: Improved algorithms and data structures for solving graph problems in external memory. In Proc. IEEE Symp. on Parallel and Distributed Processing, pages 169–177, 1996.

    Google Scholar 

  • S. T. Leutenegger, M. A. López, and J. Edgington: STR: A simple and efficient algorithm for R-tree packing. In Proc. Annual IEEE Conference on Data Engineering, pages 497–506, 1996.

    Google Scholar 

  • D.B. Lomet and B. Salzberg: The hB-tree: A multiattribute indexing method with good guaranteed performance. ACM Transactions on Database Systems, 15 (4): 625–658, 1990.

    Article  Google Scholar 

  • A. Maheshwari and N. Zeh: External memory algorithms for outerplanar graphs. In Proc. Int. Symp. on Algorithms and Computation, LNCS 1741, pages 307–316, 1999.

    Google Scholar 

  • A. Maheshwari and N. Zeh: I/O-efficient algorithms for bounded treewidth graphs. In Proc. ACM-SIAM Symp. on Discrete Algorithms, pages 89–90, 2001.

    Google Scholar 

  • J. Matousek: Efficient partition trees. Discrete Comput. Geom., 8: 315334, 1992.

    Google Scholar 

  • E.M. McCreight: Priority search trees. SIAM Journal of Computing, 14 (2): 257–276, 1985.

    Article  MathSciNet  MATH  Google Scholar 

  • K. Mehlhorn: Data Structures and Algorithms 1: Sorting and Searching. Springer-Verlag, EATCS Monographs on Theoretical Computer Science, 1984.

    MATH  Google Scholar 

  • Kurt Mehlhorn and Stefan Näher: Dynamic fractional cascading. Algorithmica, 5: 215–241, 1990.

    Article  MathSciNet  MATH  Google Scholar 

  • D. R. Morrison. PATRICIA: Practical algorithm to retrieve information coded in alphanumeric. Journal of the ACM, 15: 514–534, 1968.

    Article  Google Scholar 

  • K. Munagala and A. Ranade: I/O-complexity of graph algorithm. In Proc. ACM-SIAM Symp. on Discrete Algorithms, pages 687–694, 1999.

    Google Scholar 

  • J. Nievergelt, H. Hinterberger, and K.C. Sevcik: The grid file: An adaptable, symmetric multikey file structure. ACM Transactions on Database Systems, 9 (1): 38–71, 1984.

    Article  Google Scholar 

  • J. Nievergelt and E. M. Reingold: Binary search tree of bounded balance. SIAM Journal of Computing, 2 (1): 33–43, 1973.

    Article  MathSciNet  MATH  Google Scholar 

  • J. Nievergelt and P. Widmayer: Spatial data structures: Concepts and design choices. In M. van Kreveld, J. Nievergelt, T. Roos, and P. Widmayer, editors, Algorithmic Foundations of GIS, pages 153–197. Springer-Verlag, LNCS 1340, 1997.

    Google Scholar 

  • M. H. Nodine, M. T. Goodrich, and J. S. Vitter: Blocking for external graph searching. Algorithmica, 16 (2): 181–214, 1996.

    Article  MathSciNet  MATH  Google Scholar 

  • J. Orenstein: A comparison of spatial query processing techniques for native and parameter spaces. In Proc. SIGMOD Intl. Conf. on Management of Data, pages 343–352, 1990.

    Google Scholar 

  • J.A. Orenstein: Spatial query processing in an object-oriented database system. In Proc. ACM SIGMOD Conf. on Management of Data, pages 326–336, 1986.

    Google Scholar 

  • M. H. Overmars: Range searching in a set of line segments. In Proc. 1st Annu. ACM Sympos. Comput. Geom., pages 177–185, 1985.

    Google Scholar 

  • Mark H. Overmars: The Design of Dynamic Data Structures. Springer-Verlag, LNCS 156, 1983.

    Google Scholar 

  • A. Papadopoulos and Y. Manolopoulos: Performance of nearest neighbor queries in R-trees. In Intl. Conference on Database Theory, LNCS 1186, pages 394–408, 1997.

    Google Scholar 

  • D. Pfoser, C. S. Jensen, and Y. Theodoridis: Novel approaches to the indexing of moving objects trajectories. In Proc. International Conf. on Very Large Databases, pages 395–406, 2000.

    Google Scholar 

  • S. Ramaswamy and S. Subramanian: Path caching: A technique for optimal external searching. In Proc. ACM Symp. Principles of Database Systems, pages 25–35, 1994.

    Google Scholar 

  • S. Ramaswamy: Efficient indexing for constraint and temporal databases. In Proc. International Conference on Database Theory, LNCS 1186, pages 419–431, 1997.

    Google Scholar 

  • J.T. Robinson: The K-D-B tree: A search structure for large multidimensional dynamic indexes. In Proc. SIGMOD Intl. Conf. on Management of Data, pages 10–18, 1981.

    Google Scholar 

  • N. Roussopoulos, S. Kelley, and F. Vincent: Nearest neighbor queries. In Proc. SIGMOD Intl. Conf. on Management of Data, pages 71–79, 1995.

    Google Scholar 

  • N. Roussopoulos and D. Leifker: Direct spatial search on pictorial databases using packed R-trees. In Proc. SIGMOD Intl. Conf. on Management of Data, pages 17–31, 1985.

    Google Scholar 

  • C. Ruemmler and John Wilkes: An introduction to disk drive modeling. IEEE Computer, 27 (3): 17–28, 1994.

    Article  Google Scholar 

  • B. Salzberg and V. J. Tsotras: A comparison of access methods for time evolving data. ACM Computing Surveys, 31 (2): 158–221, 1999.

    Article  Google Scholar 

  • H. Samet: Applications of Spatial Data Structures: Computer Graphics, Image Processing, and GIS. Addison Wesley, MA, 1990a.

    Google Scholar 

  • H. Samet: The Design and Analyses of Spatial Data Structures. Addison Wesley, MA, 1990b.

    Google Scholar 

  • V. Samoladas and D. Miranker: A lower bound theorem for indexing schemes and its application to multidimensional range queries. In Proc. ACM Symp. Principles of Database Systems, pages 44–51, 1998.

    Google Scholar 

  • P. Sanders: Fast priority queues for cached memory. In Proc. Workshop on Algorithm Engineering and Experimentation, LNCS 1619, pages 312–327, 1999.

    Google Scholar 

  • N. Sarnak and R. E. Tarjan: Planar point location using persistent search trees. Communications of the ACM, 29: 669–679, 1986.

    Article  MathSciNet  MATH  Google Scholar 

  • B. Seeger and H.-P. Kriegel: The buddy-tree: An efficient and robust access method for spatial data base systems. In Proc. International Conf. on Very Large Databases, pages 590–601, 1990.

    Google Scholar 

  • T. Seidl and H.-P. Kriegel: Efficient user-adaptable similarity search in large multimedia databases. In Proc. International Conf. on Very Large Databases, pages 506–515, 1997.

    Google Scholar 

  • T. Sellis, N. Roussopoulos, and C. Faloutsos: The R+-tree: A dynamic index for multi-dimensional objects. In Proc. International Conf. on Very Large Databases, pages 507–518, 1987.

    Google Scholar 

  • J. Snoeyink: Point location. In Jacob E. Goodman and Joseph O’Rourke, editors, Handbook of Discrete and Computational Geometry, chapter 30, pages 559–574. CRC Press LLC, Boca Raton, FL, 1997.

    Google Scholar 

  • R. F. Sproull: Refinements to nearest neighbor searching in k- dimensional trees. Algorithmica, 6 (4): 579–589, 1991.

    Article  MathSciNet  MATH  Google Scholar 

  • S. Subramanian and S. Ramaswamy: The P-range tree: A new data structure for range searching in secondary memory. In Proc. ACM-SIAM Symp. on Discrete Algorithms, pages 378–387, 1995.

    Google Scholar 

  • R. Tamassia and J. S. Vitter: Optimal cooperative search in fractional cascaded data structures. Algorithmica, 15 (2): 154–171, 1996.

    Article  MathSciNet  MATH  Google Scholar 

  • J. Tayeb, O. Ulusoy, and O. Wolfson: A quadtree-based dynamic attribute indexing method. The Computer Journal, 41 (3): 185–200, 1998.

    Article  MATH  Google Scholar 

  • J. D. Ullman and M. Yannakakis: The input/output complexity of transitive closure. Annals of Mathematics and Artificial Intellegence, 3: 331–360, 1991.

    Article  MATH  Google Scholar 

  • J. Vahrenhold and K. H. Hinrichs: Planar point-location for large data sets: To seek or not to seek. In Proc. Workshop on Algorithm Engineering, 2000.

    Google Scholar 

  • J. van den Bercken, B. Seeger, and P. Widmayer: A generic approach to bulk loading multidimensional index structures. In Proc. International Conf. on Very Large Databases, pages 406–415, 1997.

    Google Scholar 

  • J. van den Bercken, B. Seeger, and P. Widmayer: A generic approach to processing non-equijoins. Technical Report 14, Philipps-Universität Marburg, Fachbereich Matematik und Informatik, 1998.

    Google Scholar 

  • M. J. van Kreveld and M. H. Overmars: Divided k-d trees. Algorithmica, 6: 840–858, 1991.

    Article  MathSciNet  MATH  Google Scholar 

  • P. J. Varman and R. M. Verma: An efficient multiversion access structure. IEEE Transactions on Knowledge and Data Engineering, 9 (3): 391–409, 1997.

    Article  Google Scholar 

  • D. E. Vengroff and J. S. Vitter: Efficient 3-D range searching in external memory. In Proc. ACM Symp. on Theory of Computation, pages 192–201, 1996.

    Google Scholar 

  • J. S. Vitter: External memory algorithms and data structures. In J. Abello and J. S. Vitter, editors, External Memory Algorithms, volume 50 of DIMACS series in Discrete Mathematics and Theoretical Computer Science, pages 1–38. American Mathematical Society, 1999a.

    Google Scholar 

  • J. S. Vitter: Online data structures in external memory. In Proc. Annual International Colloquium on Automata, Languages, and Programming, LNCS 16/4, pages 119–133, 1999b.

    Chapter  Google Scholar 

  • J. S. Vitter and E. A. M. Shriver: Algorithms for parallel memory, I: Two-level memories. Algorithmica, 12 (2–3): 110–147, 1994.

    Article  MathSciNet  MATH  Google Scholar 

  • S. Saltenis, C. S. Jensen, S. T. Leutenegger, and M. A. López: Indexing the positions of continuously moving objects. In Proc. SIGMOD Intl. Conf. on Management of Data, pages 331–342, 2000.

    Google Scholar 

  • D. A. White and R. Jain: Similarity indexing with the SS-tree. In Proc. Annual IEEE Conference on Data Engineering, pages 516–523, 1996.

    Google Scholar 

  • O. Wolfson, A. P. Sistla, S. Chamberlain, and Y. Yesha: Updating and querying databases that track mobile units. Distributed and Parallel Databases, 7 (3): 257–287, 1999.

    Article  Google Scholar 

  • O. Wolfson, B. Xu, S. Chamberlain, and L. Jiang: Moving objects databases: Issues and solutions. In Intl. Conf. on Scientific and Statistical Database Management, pages 111–122, 1998.

    Google Scholar 

  • D. Zhang, A. Markowetz, V. Tsotras, D. Gunopulos, and B. Seeger: Efficient computation of temporal aggregates with range predicates. In Proc. ACM Symp. Principles of Database Systems, pages 237–245, 2001.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2002 Springer Science+Business Media Dordrecht

About this chapter

Cite this chapter

Arge, L. (2002). External Memory Data Structures. In: Abello, J., Pardalos, P.M., Resende, M.G.C. (eds) Handbook of Massive Data Sets. Massive Computing, vol 4. Springer, Boston, MA. https://doi.org/10.1007/978-1-4615-0005-6_9

Download citation

  • DOI: https://doi.org/10.1007/978-1-4615-0005-6_9

  • Publisher Name: Springer, Boston, MA

  • Print ISBN: 978-1-4613-4882-5

  • Online ISBN: 978-1-4615-0005-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics