Multidimensional Access Methods VOLKER GAEDE IC-Parc, Imperial College, London AND OLIVER GU¨ NTHER Humboldt-Universita¨t, Berlin

Search operations in databases require special support at the physical level. This is true for conventional databases as well as spatial databases, where typical search operations include the point query (find all objects that contain a given search point) and the region query (find all objects that overlap a given search region). More than ten years of research have resulted in a great variety of multidimensional access methods to support such operations. We give an overview of that work. After a brief survey of spatial data management in general, we first present the class of point access methods, which are used to search sets of points in two or more dimensions. The second part of the paper is devoted to spatial access methods to handle extended objects, such as rectangles or polyhedra. We conclude with a discussion of theoretical and experimental results concerning the relative performance of various approaches.

Categories and Subject Descriptors: H.2.2 [Database Management]: Physical Design—access methods; H.2.4 [Database Management]: Systems; H.2.8 [Database Management]: Database Applications—spatial databases and GIS; H.3.3 [Information Storage and Retrieval]: Information Search and Retrieval— search process, selection process General Terms: Design, Experimentation, Performance Additional Key Words and Phrases: Data structures, multidimensional access methods

1. INTRODUCTION nated in the geosciences and mechani- cal CAD, the range of possible applica- With an increasing number of computer tions has expanded to areas such as applications that rely heavily on multi- robotics, visual perception, autonomous dimensional data, the database commu- navigation, environmental protection, nity has recently devoted considerable and medical imaging [Gu¨ nther and attention to spatial data management. Buchmann 1990]. Although the main motivation origi- The range of interpretation given to

This work was partially supported by the German Research Society (DFG/SFB 373) and by the ESPRIT Working Group CONTESSA (8666). Authors’ address: Institut fu¨ r Wirtschaftsinformatik, Humboldt-Universita¨t zu Berlin, Spandauer Str. 1, 10178 Berlin, Germany; email: ͗{gaede,guenther}@wiwi.hu-berlin.de͘. Permission to make digital/hard copy of part or all of this work for personal or classroom use is granted without fee provided that the copies are not made or distributed for profit or commercial advantage, the copyright notice, the title of the publication, and its date appear, and notice is given that copying is by permission of the ACM, Inc. To copy otherwise, to republish, to post on servers, or to redistribute to lists, requires prior specific permission and/or a fee. © 1998 ACM 0360-0300/98/0600–0170 $05.00

ACM Computing Surveys, Vol. 30, No. 2, June 1998 Multidimensional Access Methods • 171

CONTENTS tial database and image database are sometimes even used interchangeably. Strictly speaking, however, spatial databases contain multidimensional 1. INTRODUCTION data with explicit knowledge about ob- 2. ORGANIZATION OF SPATIAL DATA jects, their extent, and their position in 2.1 What Is Special About Spatial? space. The objects are usually repre- 2.2 Definitions and Queries sented in some vector-based format, and 3. BASIC DATA STRUCTURES 3.1 One-Dimensional Access Methods their relative positions may be explicit 3.2 Main Memory Structures or implicit (i.e., derivable from the in- 4. POINT ACCESS METHODS ternal representation of their absolute 4.1 Multidimensional Hashing positions). Image databases often place 4.2 Hierarchical Access Methods 4.3 Space-Filling Curves for Point Data less emphasis on data analysis. They 5. SPATIAL ACCESS METHODS provide storage and retrieval for unana- 5.1 Transformation lyzed pictorial data, which are typically 5.2 Overlapping Regions represented in some raster format. 5.3 Clipping Techniques developed for the storage 5.4 Multiple Layers 6. COMPARATIVE STUDIES and manipulation of image data can be 7. CONCLUSIONS applied to other media as well, such as infrared sensor signals or sound. In this survey we assume that the goal is to manipulate analyzed multidi- the term spatial data management is mensional data and that unanalyzed just as broad as the range of applica- images are handled only as the source tions. In VLSI CAD and cartography, from which spatial data can be derived. this term refers to applications that rely The challenge for the developers of a mostly on two-dimensional or layered spatial database system lies not so two-dimensional data. VLSI data are much in providing yet another collection usually represented by rectilinear poly- of special-purpose data structures. lines or polygons whose edges are iso- Rather, one has to find abstractions and oriented, that is, parallel to the coordi- architectures to implement generic sys- nate axes. Typical operations include tems, that is, to build systems with ge- intersection and geometric routing neric spatial data-management capabil- [Shekhar and Liu 1995]. Cartographic ities that can be tailored to the data are also two-dimensional with requirements of a particular application points, lines, and regions as basic prim- domain. Important issues in this con- itives. In contrast to VLSI CAD, how- text include the handling of spatial rep- ever, the shapes are often characterized resentations and data models, multidi- by extreme irregularities. Common op- mensional access methods, and pictorial erations include spatial searches and or spatial query languages and their map overlay, as well as distance-related optimization. operations. In mechanical CAD, on the This article is a survey of multidimen- other hand, data objects are usually sional access methods to support search three-dimensional solids. They may be operations in spatial databases. Figure represented in a variety of data formats, 1, which was inspired by a similar including cell decomposition schemes, graph by Lu and Ooi [1993], gives a first constructive solid geometry (CSG), and overview of the diversity of existing boundary representations [Kemper and multidimensional access methods. The Wallrath 1987]. Yet other applications goal is not to describe all of these struc- emphasize the processing of unanalyzed tures, but to discuss the most prominent images, such as X-rays and satellite im- ones, to present possible taxonomies, agery, from which features are ex- and to establish references to other lit- tracted. In those areas, the terms spa- erature.

ACM Computing Surveys, Vol. 30, No. 2, June 1998 172 • V. Gaede and O. Gu¨ nther

Figure 1. History of multidimensional access methods.

Several shorter surveys have been had an impact on the design of multidi- published previously in various Ph.D. mensional access methods. Sections 4 theses such as Ooi [1990], Kolovson and 5 form the core of this survey, pre- [1990], Oosterom [1990], and Schiwietz senting a variety of point access meth- [1993]. Widmayer [1991] gives an over- ods (PAMs) and spatial access methods view of work published before 1991. (SAMs), respectively. Some remarks Like the thesis by Schiwietz, however, about theoretical and experimental his survey is available only in German. analyses are contained in Section 6, and Samet’s books [1989, 1990] present the Section 7 concludes the article. state of the art until 1989. However, they primarily cover and re- 2. ORGANIZATION OF SPATIAL DATA lated data structures. Lomet [1991] dis- cusses the field from a systems-oriented 2.1 What Is Special About Spatial? point of view. The remainder of the article is orga- To obtain a better understanding of the nized as follows. Section 2 discusses requirements in spatial database sys- some basic properties of spatial data tems, we first discuss some basic prop- and their implications for the design erties of spatial data. First, spatial data and implementation of spatial data- have a complex structure. A spatial bases. Section 3 gives an overview of data object may be composed of a single some traditional data structures that point or several thousands of polygons,

ACM Computing Surveys, Vol. 30, No. 2, June 1998 Multidimensional Access Methods • 173 arbitrarily distributed across space. It one needs special multidimensional ac- is usually not possible to store collec- cess methods. The main problem in the tions of such objects in a single rela- design of such methods, however, is tional table with a fixed tuple size. Sec- that there exists no total ordering ond, spatial data are often dynamic. among spatial objects that preserves Insertions and deletions are interleaved spatial proximity. In other words, there with updates, and data structures used is no mapping from two- or higher-di- in this context have to support this dy- mensional space into one-dimensional namic behavior without deteriorating space such that any two objects that are over time. Third, spatial databases tend spatially close in the higher-dimen- to be large. Geographic maps, for exam- sional space are also close to each other ple, typically occupy several gigabytes in the one-dimensional sorted sequence. of storage. The integration of secondary This makes the design of efficient ac- and tertiary memory is therefore essen- cess methods in the spatial domain tial for efficient processing [Chen et al. much more difficult than in traditional 1995]. Fourth, there is no standard al- databases, where a broad range of effi- gebra defined on spatial data, although cient and well-understood access meth- several proposals have been made in the ods is available. Examples for such one- past [Egenhofer 1989; Gu¨ ting 1989; dimensional access methods (also called Scholl and Voisard 1989; Gu¨ ting and single key structures, although that Schneider 1993]. This means in particu- term is somewhat misleading) include lar that there is no standardized set of the B-tree [Bayer and McCreight 1972] base operators. The set of operators de- and extendible hashing [Fagin et al. pends heavily on the given application 1979]; see Section 3.1 for a brief discus- domain, although some operators (such sion. A popular approach to handling as intersection) are more common than multidimensional search queries con- others. Fifth, many spatial operators sists of the consecutive application of are not closed. The intersection of two such single key structures, one per di- polygons, for example, may return any mension. Unfortunately, this approach number of single points, dangling edges, can be very inefficient [Kriegel 1984]. or disjoint polygons. This is particularly Since each index is traversed indepen- relevant when operators are applied dently of the others, we cannot exploit consecutively. Sixth, although the com- the possibly high selectivity in one di- putational costs vary among spatial da- mension to narrow down the search in tabase operators, they are generally the remaining dimensions. In general, more expensive than standard rela- there is no easy and obvious way to tional operators. extend single key structures in order to An important class of geometric oper- handle multidimensional data. ators that needs special support at the There is a variety of requirements physical level is the class of spatial that multidimensional access methods search operators. Retrieval and update should meet, based on the properties of of spatial data are usually based not spatial data and their applications only on the value of certain alphanu- [Robinson 1981; Lomet and Salzberg meric attributes but also on the spatial 1989; Nievergelt 1989]: location of a data object. A retrieval query on a spatial database often re- (1) Dynamics. As data objects are in- quires the fast execution of a geometric serted and deleted from the data- search operation such as a point or re- base in any given order, access gion query. Both operations require fast methods should continuously keep access to those data objects in the data- track of the changes. base that occupy a given location in (2) Secondary/tertiary storage man- space. agement. Despite growing main To support such search operations, memories, it is often not possible to

ACM Computing Surveys, Vol. 30, No. 2, June 1998 174 • V. Gaede and O. Gu¨ nther

hold the complete database in main (10) Minimum impact. The integration memory. Therefore, access methods of an access method into a data- need to integrate secondary and ter- base system should have minimum tiary storage in a seamless manner. impact on existing parts of the sys- (3) Broad range of supported opera- tem. tions. Access methods should not support just one particular type of 2.2 Definitions and Queries operation (such as retrieval) at the expense of other tasks (such as de- We have already introduced the term letion). multidimensional access methods to de- note the large class of access methods (4) Independence of the input data and that support searches in spatial data- insertion sequence. Access methods bases and are the subject of this survey. should maintain their efficiency Within this class, we distinguish be- even when input data are highly tween point access methods (PAMs) and skewed or the insertion sequence is spatial access methods (SAMs). Point changed. This point is especially access methods have primarily been de- important for data that are distrib- signed to perform spatial searches on uted differently along the various point databases (i.e., databases that dimensions. store only points). The points may be (5) Simplicity. Intricate access meth- embedded in two or more dimensions, ods with many special cases are but they do not have a spatial exten- often error-prone to implement and sion. Spatial access methods, however, thus not sufficiently robust for can manage extended objects, such as large-scale applications. lines, polygons, or even higher-dimen- (6) Scalability. Access methods should sional polyhedra. In the literature, one adapt well to database growth. often finds the term spatial access (7) Time efficiency. Spatial searches method referring to what we call multi- should be fast. A major design goal dimensional access method. Other terms is to meet the performance charac- used for this purpose include spatial teristics of one-dimensional B-trees: index or spatial index structure. first, access methods should guar- We generally assume that the given objects are embedded in d-dimensional antee a logarithmic worst-case d search performance for all possible Euclidean space E or a suitable sub- input data distributions regardless space thereof. In this article, this space of the insertion sequence and sec- is also referred to as the universe or ond, this worst-case performance original space. Any point object stored should hold for any combination of in a spatial database has a unique loca- the d attributes. tion in the universe, defined by its d coordinates. Unless the distinction is (8) Space efficiency. An index should essential, we use the term point both for be small in size compared to the locations in space and for point objects data to be addressed and therefore stored in the database. Note, however, guarantee a certain storage utiliza- that any point in space can be occupied tion. by several point objects stored in the (9) Concurrency and recovery. In mod- database. ern databases where multiple us- A(convex) d-dimensional polytope P ers concurrently update, retrieve, in Ed is defined to be the intersection of and insert data, access methods some finite number of closed halfspaces should provide robust techniques in Ed, such that the dimension of the for transaction management with- smallest affine subspace containing P is out significant performance penal- d.Ifa ʦ Ed Ϫ {0} and c ʦ E1 then the ties. (d Ϫ 1)-dimensional set H(a, c) ϭ {x ʦ

ACM Computing Surveys, Vol. 30, No. 2, June 1998 Multidimensional Access Methods • 175

Figure 2. Multistep spatial query processing [Brinkhoff et al. 1994].

Ed : x ⅐ a ϭ c} defines a hyperplane in the set of k-dimensional polyhedra Ed. A hyperplane H(a, c) defines two forms a data type, which leads us to the closed halfspaces: the positive halfspace common collection of spatial data types 1 ⅐ H(a, c) ϭ {x ʦ Ed : x ⅐ a Ն c}, and {Point, Line, Region, . . .}. Combined the negative halfspace Ϫ1 ⅐ H(a, c) ϭ types sometimes also occur. An object o {x ʦ Ed : x ⅐ a Յ c}. A hyperplane in a spatial database is usually defined H(a, c) supports a polytope P if H(a, c) by several nonspatial attributes and one പ P Þ À and P ʕ 1 ⅐ H(a, c), that is, if attribute of some spatial data type. This H(a, c) embeds parts of P’s boundary. If spatial attribute describes the object’s H(a, c) is any hyperplane supporting P spatial extent o.G. In the spatial data- then P പ H(a, c)isaface of P. The base literature, the terms geometry, faces of dimension 1 are called edges; shape, and spatial extension are often those of dimension 0 vertices. used instead of spatial extent. For the By forming the union of some finite description of o.G one finds the terms number of polytopes Q1, ..., Qn,we shape descriptor, shape description, obtain a (d-dimensional) polyhedron Q shape information, and geometric de- in Ed that is not necessarily convex. scription, among others. Following the intuitive understanding Indices often perform more efficiently ϭ of polyhedra, we require that the Qi(i when handling simple entries of the 1,..., n) be connected. Note that this same size. One therefore often abstracts still allows for polyhedra with holes. from the actual shape of a spatial object Each face of Q is either the face of some before inserting it into an index. This Qi, or a fraction thereof, or the result of can be achieved by approximating the the intersection of two or more Qi. Each original data object with a simpler polyhedron P divides the points in space shape, such as a bounding box or a into three subsets that are mutually sphere. Given a minimum bounding in- ϭ ʦ 1 disjoint: its interior, its boundary, and terval Ii(o) [li, ui](li, ui E ) de- its exterior. scribing the extent of the spatial object Following usual conventions, we use o along dimension i, the d-dimensional the terms line and polyline to denote a minimum bounding box (MBB) is de- d ϭ ϫ ϫ ϫ one-dimensional polyhedron and the fined by I (o) I1(o) I2(o) ... terms polygon and region to denote a Id(o). two-dimensional polyhedron. We fur- An index may administer only the ther assume that for each k(0 Յ k Յ d), MBB of each object, together with a

ACM Computing Surveys, Vol. 30, No. 2, June 1998 176 • V. Gaede and O. Gu¨ nther pointer to the object’s database entry (object ID or object reference). With this design, the index produces only a set of candidate solutions (Figure 2). For each candidate obtained during this filter step, we have to decide whether the MBB is sufficient to guarantee that the object itself satisfies the search predi- cate. In those cases, the object can be added directly to the query result (dashed line). However, there are often cases where the MBB does not prove sufficient. In a refinement step we then must retrieve the exact shape informa- tion from secondary memory and test it against the predicate. If the predicate Figure 3. Point query. evaluates to true, the object is added to the query result; otherwise we have a false drop. tion of the number of disk accesses in Another way of obtaining simple in- mind as one design goal. Practical eval- dex entries is to represent the shape of uations, however, should always give each data object as the geometric union some information on elapsed times and of simpler shapes (e.g., convex polygons the conditions under which they were with a bounded number of vertices). achieved. This approach is called decomposition. As noted previously, in contrast to We have mentioned the term effi- relational databases, there exists nei- ciency several times so far without giv- ther a standard spatial algebra nor a ing a formal definition. In the case of standard spatial query language. The space efficiency, this can easily be done: set of operators strongly depends on the the goal is to minimize the number of given application domain, although bytes occupied by the index. For time some operators (such as intersection) efficiency the situation is not so clear. are generally more common than oth- Elapsed time is obviously what the user ers. Queries are often expressed by cares about, but one should keep in some extension of SQL that allows ab- mind that the corresponding measure- stract data types to represent spatial ments greatly depend on implementa- objects and their associated operators tion details, hardware utilization, and [Roussopoulos and Leifker 1984; Egen- other external factors. In the literature, hofer 1994]. The result of a query is one therefore often finds a seemingly usually a set of spatial data objects. In more objective performance measure: the remainder of this section, we give a the number of disk accesses performed formal definition of several of the more during a search. This approach, which common spatial database operators. has become popular with the B-tree, is Figures 3 through 8 give some concrete based on the assumption that most examples. searches are I/O-bound rather than Query 1 (Exact Match Query EMQ, CPU-bound—an assumption that is not Object Query). Given an object oЈ with always true in spatial data manage- spatial extent oЈ.G ʕ Ed, find all objects ment, however. In applications where o with the same spatial extent as oЈ: objects have complex shapes, the refine- ment step can incur major CPU costs EMQ͑oЈ͒ ϭ ͕o͉oЈ.G ϭ o.G͖. and change the balance with I/O [Gaede 1995b; Hoel and Samet 1995]. Of Query 2 (Point Query PQ). Given a course, one should keep the minimiza- point p ʦ Ed, find all objects o overlap-

ACM Computing Surveys, Vol. 30, No. 2, June 1998 Multidimensional Access Methods • 177

Figure 4. Window query. Figure 6. Enclosure query.

Figure 5. Intersection query. Figure 7. Containment query.

ping p: The query implies that the window is iso-oriented; that is, its faces are paral- PQ͑ p͒ ϭ ͕o͉p പ o.G ϭ p͖. lel to the coordinate axes. A more gen- eral variant is the region query that The point query can be regarded as a permits search regions to have arbitrary special case of several of the following orientations and shapes. queries, such as the intersection query, the window query, or the enclosure Query 4 (Intersection Query IQ, Re- query. gion Query, Overlap Query). Given an object oЈ with spatial extent oЈ.G ʕ Ed, Query 3 (Window Query WQ, Range find all objects o having at least one Query). Given a d-dimensional interval point in common with oЈ: d ϭ ϫ ϫ ϫ I [l1, u1] [l2, u2] ... [ld, ud], find all objects o having at least one IQ͑oЈ͒ ϭ ͕o͉oЈ.G പ o.G Þ À͖. point in common with Id: Query 5 (Enclosure Query EQ). Given WQ͑Id͒ ϭ ͕o͉Id പ o.G Þ À͖. an object oЈ with spatial extent oЈ.G ʕ

ACM Computing Surveys, Vol. 30, No. 2, June 1998 178 • V. Gaede and O. Gu¨ nther

having a minimum distance from oЈ: NNQ͑oЈ͒ ϭ ͕o͉@oЉ : dist͑oЈ.G, o.G͒

Յ dist͑oЈ.G, oЉ.G͒}. The distance between extended spatial data objects is usually defined as the distance between their closest points. Common distance functions for points include the Euclidean and the Manhat- tan distance. Besides spatial selections, as exempli- fied by Queries 1 through 8, the spatial join is one of the most important spatial operations and can be defined as follows [Gu¨ nther 1993]: Figure 8. Adjacency query. Query 9 (Spatial Join). Given two col- lections R and S of spatial objects and a spatial predicate ␪, find all pairs of ob- Ј ʦ ϫ ␪ Ј d Ј jects (o, o ) R S where (o.G, o .G) E , find all objects o enclosing o : evaluates to true: EQ͑oЈ͒ ϭ ͕o͉͑oЈ.G പ o.G͒ ϭ oЈ.G͖. R ”“␪ S ϭ ͕͑o, oЈ͉͒o ʦ R ٙ oЈ

.{Query 6 (Containment Query CQ). ʦ S ٙ ␪ ͑o.G, oЈ.G͒ Given an object oЈ with spatial extent oЈ.G ʕ Ed, find all objects o enclosed by As for the spatial predicate ␪, a brief oЈ: survey of the literature1 yields a wide variety of possibilities, including CQ͑oЈ͒ ϭ ͕o͉͑oЈ.G പ o.G͒ ϭ o.G͖. ٪intersects ٪The enclosure and the containment contains ٪query are duals of each other. They are is_enclosed_by {both more restrictive formulations of distance٪⌰q, with ⌰ ʦ {ϭ, Յ, Ͻ, Ն, Ͼ the intersection query by specifying the and q ʦ E1 result of the intersection to be one of the ٪northwest two inputs. .٪adjacent Query 7 (Adjacency Query AQ). Given A closer inspection of these spatial pred- Ј Ј ʕ an object o with spatial extent o .G icates shows that the intersection join Ed, find all objects o adjacent to oЈ: ”“ R intersects S plays a crucial role for the computation in virtually all these AQ͑oЈ͒ ϭ ͕o͉o.G പ oЈ.G Þ À cases [Gaede and Riekert 1994]. For predicates such as contains, encloses,or ٙ oЈ.G° പ o.G° ϭ À}. adjacent, for example, the intersection join is an efficient filter that yields a set Here oЈ.G° and o.G° denote the interi- of candidate solutions typically much ors of the spatial extents oЈ.G and o.G, respectively. 1 See Orenstein [1986], Becker [1992], Rotem [1991], Gu¨ nther [1993], Brinkhoff et al. [1993a], Query 8 (Nearest-Neighbor Query Gaede and Riekert [1994], Brinkhoff [1994], Lo NNQ). Given an object oЈ with spatial and Ravishankar [1994], Aref and Samet [1994], extent oЈ.G ʕ Ed, find all objects o Papadias et al. [1995] and Gu¨ nther et al. [1998].

ACM Computing Surveys, Vol. 30, No. 2, June 1998 Multidimensional Access Methods • 179 smaller than the Cartesian product large interval remaining. Note that the R ϫ S. split interval need not be the same in- terval as the one that caused the split; consequently, there is no guarantee that 3. BASIC DATA STRUCTURES the split relieves the bucket in question from its overload. If an interval contains 3.1 One-Dimensional Access Methods more objects than bucket capacity per- Classical one-dimensional access meth- mits, the overload is stored on an over- ods are an important foundation for al- flow page, which is linked to the origi- most all multidimensional access meth- nal page. When t ϭ B, the file has ods. Although the related surveys by doubled and all intervals have the same kϩ1 Knott [1975] and Comer [1979] are length (B Ϫ A)/2 . In this case we somewhat dated, they represent good reset the pointer t to A and resume the coverage of the different approaches. In split procedure for the smaller inter- practice, the most common one-dimen- vals. sional structures include linear hashing [Litwin 1980; Larson 1980], extendible 3.1.2 Extendible Hashing [Fagin et hashing [Fagin et al. 1979], and the al. 1979]. As does linear hashing, ex- B-tree [Bayer and McCreight 1972]. Hi- tendible hashing organizes the data in erarchical access methods such as the binary intervals, here called cells. Over- B-tree are scalable and behave well in flow pages are avoided in extendible the case of skewed input; they are hashing by using a central directory. nearly independent of the distribution Each cell has an index entry in that of the input data. This is not necessarily directory; it initially corresponds to one true for hashing techniques, whose per- bucket. If during an insertion a bucket formance may degenerate depending on at maximal depth exceeds its maximum the given input data and hash function. capacity, all cells are split into two. New This problem is aggravated by the use index entries are created and the direc- of order-preserving hash functions tory doubles in size. Since each bucket [Orenstein 1983; Garg and Gotlieb was not at full capacity before the split, 1986] that try to preserve neighborhood it may now be possible to fit more than relationships between data items in or- one cell in the same bucket. In that der to support range queries. As a re- case, adjacent cells are regrouped in sult, highly skewed data keep accumu- data regions and stored on the same lating at a few selected locations in disk page. In the case of skewed data image space. this may lead to a situation where nu- merous directory entries exist for the 3.1.1 Linear Hashing [Larson 1980; same data region (and therefore the Litwin 1980]. Linear hashing divides same disk page). Even in the case of the universe [A, B) of possible hash val- uniformly distributed data, the average ues into binary intervals of size (B Ϫ directory size is ⌰(n1ϩ1/b) and therefore A)/2k or (B Ϫ A)/2kϩ1 for some k Ն 0. superlinear [Flajolet 1983]. Here b de- Each interval corresponds to a bucket, notes the bucket size and n is the num- that is, a collection of records stored on ber of index entries. Exact match a disk page. t ʦ [A, B) is a pointer that searches take no more than two page separates the smaller intervals from the accesses: one for the directory and one larger ones: all intervals of size (B Ϫ for the bucket with the data. This is A)/2k are to the left of t and all intervals more than the best-case performance of of size (B Ϫ A)/2kϩ1 are to the right of t. linear hashing, but better than the If a bucket reaches its capacity due to worst case. an insertion, the interval [t, t ϩ (B Ϫ Besides the potentially poor space uti- A)/2k) is split into two subintervals of lization of the index, extendible hashing equal size, and t is advanced to the next also suffers from a nonincremental

ACM Computing Surveys, Vol. 30, No. 2, June 1998 180 • V. Gaede and O. Gu¨ nther

growth of the index due to the doubling ary memory and are therefore less steps. To address these problems, suited for large spatial databases. In Lomet [1983] proposed a technique this section, we review several of these called bounded-index extendible hash- fundamental data structures, which are ing. In this proposal, the index grows as adapted and incorporated in numerous in extendible hashing until its size multidimensional access methods. To il- reaches a predetermined maximum; lustrate the methods, we introduce a that is, the index size is bounded. Once small scenario that we use as a running this limit is reached while inserting new example throughout this survey. The items, bounded-index extendible hash- scenario, depicted in Figure 9, contains ing starts doubling the data bucket size 10 points pi and 10 polygons ri, ran- rather than the index size. domly distributed in a finite two-dimen- 3.1.3 The B-Tree [Bayer and Mc- sional universe. To represent polygons, Creight 1972]. Other than hashing we often use their centroids ci (not pic- schemes, the B-tree and its variants tured) or their minimum bounding [Comer 1979] organize the data in a boxes (MBBs) mi. Note that the quality hierarchical manner. B-trees are bal- of the MBB approximation varies con- anced trees that correspond to a nesting siderably. The MBB m8, for example, of intervals. Each node ␯ corresponds to provides a fairly tight fit, whereas r5 is a disk page D(␯) and an interval I(␯). If only about half as large as its MBB m5. ␯ is an interior node then the intervals ␯ I( i) corresponding to the immediate de- 3.2.1 The k-d-Tree [Bentley 1975, scendants of ␯ are mutually disjoint 1979]. One of the most prominent d- subsets of I(␯). Leaf nodes contain dimensional data structures is the k-d- pointers to data items; depending on the tree. The k-d-tree is a binary search tree type of B-tree, interior nodes may do so that represents a recursive subdivision as well. B-trees have an upper and of the universe into subspaces by means lower bound for the number of descen- of (d Ϫ 1)-dimensional hyperplanes. dants of a node. The lower bound pre- The hyperplanes are iso-oriented, and vents the degeneration of trees and their direction alternates among the d leads to an efficient storage utilization. possibilities. For d ϭ 3, for example, Nodes whose number of descendants splitting hyperplanes are alternately drops below the lower bound are deleted perpendicular to the x-, y-, and z-axes. and their contents distributed among Each splitting hyperplane has to con- the adjacent nodes at the same tree tain at least one data point, which is level. The upper bound follows from the used for its representation in the tree. fact that each tree node corresponds to Interior nodes have one or two descen- exactly one disk page. If during an in- dants each and function as discrimina- sertion a node reaches its capacity, it is tors to guide the search. Searching and split in two. Splits may propagate up insertion of new points are straightfor- the tree. As the size of the intervals ward operations. Deletion is somewhat depends on the given data (and the in- more complicated and may cause a reor- sertion sequence), the B-tree is an adap- ganization of the subtree below the data tive . For uniformly dis- point to be deleted. tributed data, however, extendible as Figure 10 shows a k-d-tree for the well as linear hashing outperform the running example. Because the tree can B-tree on the average for exact match only handle points, we represent the queries, insertions, and deletions. polygons by their centroids ci. The first 3.2 Main Memory Structures splitting line is the vertical line crossing c3. We therefore store c3 in the root of Early multidimensional access methods the corresponding k-d-tree. The next did not take into account paged second- splits occur along horizontal lines cross-

ACM Computing Surveys, Vol. 30, No. 2, June 1998 Multidimensional Access Methods • 181

Figure 9. Running example.

Figure 10. k-d-tree. ing p10 (for the left subtree) and c7 (for need not be strictly alternating any- the right subtree), and so on. more. As a result, the split points are One disadvantage of the k-d-tree is not part of the input data; all data that the structure is sensitive to the points are stored in the leaves. Interior order in which the points are inserted. nodes contain the dimension (e.g., x or Another one is that data points are scat- y) and the coordinate of the correspond- tered all over the tree. The adaptive ing split. Splitting is continued recur- k-d-tree [Bentley and Friedman 1979] sively until each subspace contains only mitigates these problems by choosing a a certain number of points. The adap- split such that one finds about the same tive k-d-tree is a rather static structure; number of elements on both sides. Al- it is obviously difficult to keep the tree though the splitting hyperplanes are balanced in the presence of frequent still parallel to the axes, they need not insertions and deletions. The structure contain a data point and their directions works best if all the data are known a

ACM Computing Surveys, Vol. 30, No. 2, June 1998 182 • V. Gaede and O. Gu¨ nther

Figure 11. Adaptive k-d-tree.

priori and if updates are rare. Figure 11 subspaces by means of (d Ϫ 1)-dimen- shows an adaptive k-d-tree for the run- sional hyperplanes. Each subspace is ning example. Note that the tree still subdivided independently of its history depends on the order of insertion. and of the other subspaces. The choice Another variant of the k-d-tree is the of the partitioning hyperplanes depends bintree [Tamminen 1984]. This struc- on the distribution of the data objects in ture partitions the universe recursively a given subspace. The decomposition into d-dimensional boxes of equal size usually continues until the number of until each one contains only a certain objects in each subspace is below a number of points. Even though this given threshold. kind of partitioning is less adaptive, it The resulting partition of the uni- has several advantages, such as the im- verse can be represented by a BSP-tree plicit knowledge of the partitioning hy- in which each hyperplane corresponds perplanes. In the remainder of this arti- to an interior node of the tree and each cle, we encounter several other subspace corresponds to a leaf. Each structures based on this kind of parti- leaf stores references to those objects tioning. that are contained in the corresponding A disadvantage common to all k-d- subspace. Figure 12 shows a BSP-tree trees is that for certain distributions no for the running example with no more hyperplane can be found that splits the than two objects per subspace. data points evenly [Lomet and Salzberg In order to perform a point query, we 1989]. By introducing a more flexible insert the search point into the root of partitioning scheme, the following BSP- the tree and determine on which side of tree avoids this problem completely. the corresponding hyperplane it is lo- 3.2.2 The BSP-Tree [Fuchs et al. cated. Next, we insert the point into the 1980, 1983]. Splitting the universe only corresponding subtree and proceed re- along iso-oriented hyperplanes is a se- cursively until we reach a leaf of the vere restriction in the schemes pre- tree. Finally, we examine the data ob- sented so far. Allowing arbitrary orien- jects in the corresponding subspace to tations gives more flexibility to find a see whether they contain the search hyperplane that is well suited for the point. The range search algorithm is a split. A well-known example for such a straightforward generalization. method is the binary space partitioning BSP-trees can adapt well to different (BSP)-tree. Like k-d-trees, BSP-trees data distributions. However, they are are binary trees that represent a recur- typically not balanced and may have sive subdivision of the universe into very deep subtrees, which has a nega-

ACM Computing Surveys, Vol. 30, No. 2, June 1998 Multidimensional Access Methods • 183

Figure 12. BSP-tree. tive impact on the tree performance. To avoid the storage utilization prob- BSP-trees also have higher space re- lems that are often associated with a quirements, since storing an arbitrary strictly regular partitioning, the BD- hyperplane per split occupies more stor- tree employs a more flexible splitting age space than a simple discriminator, policy. Here one can split a node by which is typically just a real number. making an interval-shaped excision from the corresponding region. The two 3.2.3 The BD-Tree [Ohsawa and child nodes of the node to be split will Sakauchi 1983]. The BD-tree is a bi- then have different interpretations: one nary tree representing a subdivision of represents the excision; the other one the data space into interval-shaped re- represents the remainder of the original gions. Each of those regions is encoded region. Note that the remaining region in a bit string and associated with one is no longer interval-shaped. With this of the BD-tree nodes. Here, these bit policy, the BD-tree can guarantee that, strings are called DZ-expressions; they after node splitting, each of the data are also known as Peano codes, ST_Mor- buckets contains at least one third of tonNumber,orz-values (cf. Section the original entries. 5.1.2). Figure 13 shows a BD-tree for the Given a region R, one computes the running example. An excision is always corresponding DZ-expression as follows. represented by the left child of the node For simplicity we restrict this presenta- that was split. tion to the two-dimensional case; we For an exact match we first compute also assume that the first subdividing the full bit-interleaved prefix of the hyperplane is a vertical line. If R lies to search record. Starting from the root, the left of that line, the first bit of the we recursively compare this prefix with corresponding DZ-expression is 0; other- the stored DZ-expressions of each inter- wise it is 1. In the next step, we subdi- nal node. If it matches, we follow the vide the subspace containing R by a corresponding link; otherwise we follow horizontal line. If R lies below that line, the other link until we reach the leaf the second bit of the DZ-expression is 0, level of the BD-tree. More sophisticated otherwise it is 1. As this decomposition algorithms were proposed later by Dan- progresses, we obtain one bit per split- damudi and Sorenson [1986, 1991]. ting line. Bits at odd positions refer to vertical lines and bits at even positions 3.2.4 The . The quadtree to horizontal lines, which explains why with its many variants is closely related this scheme is often referred to as bit to the k-d-tree. For an extensive discus- interleaving. sion of this structure, see Samet [1984,

ACM Computing Surveys, Vol. 30, No. 2, June 1998 184 • V. Gaede and O. Gu¨ nther

Figure 13. BD-tree.

1990a,b]. Although the term quadtree one of the first quadtree variants: the usually refers to the two-dimensional point quadtree, essentially a multidi- variant, the basic idea applies to an mensional binary search tree. The point arbitrary d. Like the k-d-tree, the quadtree is constructed consecutively by quadtree decomposes the universe by inserting the data points one by one. means of iso-oriented hyperplanes. An For each point, we first perform a point important difference, however, is the search. If we do not find the point in the fact that quadtrees are not binary trees tree, we insert it into the leaf node anymore. In d dimensions, the interior where the search has terminated. The nodes of a quadtree have 2d descen- corresponding partition is divided into dants, each corresponding to an inter- 2d subspaces with the new point at the val-shaped partition of the given sub- center. The deletion of a point requires space. These partitions do not have to the restructuring of the subtree below be of equal size, although that is often the corresponding quadtree node. A the case. For d ϭ 2, for example, each simple way to achieve this is to reinsert interior node has four descendants, each all points into the subtree. Figure 14 corresponding to a rectangle. These shows a two-dimensional point quadtree rectangles are typically referred to as for the running example. the NW, NE, SW, and SE (northwest, Another popular variant is the region etc.) quadrants. The decomposition into quadtree [Samet 1984]. Region quadtrees subspaces is usually continued until the are based on a regular decomposition of number of objects in each partition is the universe; that is, the 2d subspaces below a given threshold. Quadtrees are resulting from a partition are always of therefore not necessarily balanced; sub- equal size. This greatly facilitates trees corresponding to densely popu- searches. For the running example, Fig- lated regions may be deeper than oth- ure 15 shows how region quadtrees can ers. be used to represent sets of points. Here Searching in a quadtree is similar to the threshold for the number of points searching in an ordinary binary search in any given subspace was set to one. In tree. At each level, one has to decide more complex versions of the region which of the four subtrees need be in- quadtree, such as the PM quadtree cluded in the future search. In the case [Samet and Webber 1985], it is also of a point query, typically only one sub- possible to store polygonal data directly. tree qualifies, whereas for range queries PM quadtrees divide the quadtree re- there are often several. We repeat this gions (and the data objects in them) search step recursively until we reach until they contain only a small number the leaves of the tree. of polygon edges or vertices. These Finkel and Bentley [1974] proposed edges or vertices (which together form

ACM Computing Surveys, Vol. 30, No. 2, June 1998 Multidimensional Access Methods • 185

Figure 14. Point quadtree.

Figure 15. Region quadtree. an exact description of the data objects) certainly use main memory structures are then attached to the leaves of the for data that reside on disk, but their tree. Another class of quadtree struc- performance is often considerably below tures has been designed for the manage- the optimum because there is no control ment of collections of rectangles; see over how the operating system performs Samet [1988] for a survey. the disk accesses. The access methods presented in this and the following sec- 4. POINT ACCESS METHODS tion have been designed with secondary The multidimensional data structures storage management in mind. Their op- presented in the previous section do not erations are closely coordinated with take secondary storage management the operating system to ensure that into account explicitly. They were origi- overall performance is optimized. nally designed for main memory appli- As mentioned before, we first present cations where all the data are available a selection of point access methods. without accessing the disk. Despite Usually, the points in the database are growing main memories, this is of organized in a number of buckets, each course not always the case. In many of which corresponds to a disk page and spatial database applications, such as to some subspace of the universe. The geography, the amount of data to be subspaces (often called data regions, managed is notoriously large. One can bucket regions, or simply regions, even

ACM Computing Surveys, Vol. 30, No. 2, June 1998 186 • V. Gaede and O. Gu¨ nther

Table 1. Classification of PAMs Following Seeger and Kriegel [1990]

though their dimension may be greater tinguishes between hierarchical meth- than two) need not be rectilinear, al- ods (point/region quadtrees, k-d-trees, though they often are. The buckets are range trees) and bucket methods (grid accessed by means of a search tree or file, EXCELL). His discussion of the some d-dimensional hash function. former is primarily in the context of The grid file [Nievergelt et al. 1984], main memory applications. Our presen- for example, uses a directory and a grid- tation focuses throughout on structures like partition of the universe to answer that take secondary storage manage- an exact match query with exactly two ment into account. disk accesses. Furthermore, there are Another interesting taxonomy has multidimensional hashing schemes been proposed by Seeger and Kriegel [Tamminen 1982; Kriegel and Seeger [1990], who classify point access meth- 1986, 1988], multilevel grid files ods by the properties of the bucket re- [Whang and Krishnamurthy 1985; Hut- gions (Table 1). First, they may be pair- flesz et al. 1988b], and hash trees [Ouk- wise disjoint or they may have mutual sel 1985; Otoo 1985], which organize the overlaps. Second, they may have the directory as a tree structure. Tree-based shape of an interval (box) or be of some access methods are usually a generali- arbitrary polyhedral shape. Third, they zation of the B-tree to higher dimen- may cover the complete universe or just sions, such as the k-d-B-tree [Robinson those parts that contain some data ob- 1981] or the hB-tree [Lomet and Salz- jects. This taxonomy results in eight berg 1989]. classes, four of which are populated by In the remainder of this section, we existing access methods. first discuss the approaches based on hashing, followed by hierarchical (tree- 4.1 Multidimensional Hashing based) methods, and space-filling curves. This classification is hardly un- Although there is no total order for ob- ambiguous, especially in the presence of jects in two- and higher-dimensional an increasing number of hybrid ap- space that completely preserves spatial proaches that attempt to combine the proximity, there have been numerous advantages of several different tech- attempts to construct hashing functions niques. Our approach resembles the that preserve proximity at least to some classification of Samet [1990], who dis- extent. The goal of all these heuristics is

ACM Computing Surveys, Vol. 30, No. 2, June 1998 Multidimensional Access Methods • 187

Figure 16. Grid file. that objects located close to each other d-dimensional orthogonal grid on the in original space should be likely to be universe. Because the grid is not neces- stored close together on the disk. This sarily regular, the resulting cells may could contribute substantially to mini- be of different shapes and sizes. A grid mizing the number of disk accesses per directory associates one or more of these range query. We begin our presentation cells with data buckets, which are with several structures based on ex- stored on one disk page each. Each cell tendible hashing. Structures based on is associated with one bucket, but a linear hashing are discussed in Section bucket may contain several adjacent 4.1.5. The discussion of two hybrid cells. Since the directory may grow methods, the BANG file and the buddy large, it is usually kept on secondary tree, is postponed until Section 4.2. storage. To guarantee that data items 4.1.1 The Grid File (Nievergelt et al. are always found with no more than two 1981]. As a typical representative of an disk accesses for exact match queries, access method based on hashing, we the grid itself is kept in main memory, first discuss the grid file and some of its represented by d one-dimensional ar- 2 variants. The grid file superimposes a rays called scales. Figure 16 shows a grid file for the running example. We assume bucket ca- 2 See Hinrichs [1985], Ouksel [1985], Whang and Krishnamurthy [1985], Six and Widmayer [1988], pacity to be four data points. The center and Blanken et al. [1990]. of the figure shows the directory with

ACM Computing Surveys, Vol. 30, No. 2, June 1998 188 • V. Gaede and O. Gu¨ nther

scales on the x- and y-axes. The data page in question, a splitting hyperplane ␯ points are displayed in the directory for H is introduced and a new data page j demonstration purposes only; they are is allocated. The new entry and the en- ␯ not, of course, stored there. In the lower tries of the original page i are redis- ␯ ␯ left part, four cells are combined into a tributed among i and j, depending on single bucket, represented by four their location relative to H. H is in- pointers to a single page. There are thus serted into the corresponding scale; all four directory entries for the same page, cells that intersect H are split accord- which illustrates a well-known problem ingly. Splitting is therefore not a local of the grid file: it suffers from a super- operation and can lead to superlinear linear growth of the directory even for directory growth even for uniformly dis- data that are uniformly distributed tributed data [Regnier 1985; Freeston [Regnier 1985; Widmayer 1991]. The 1987; Widmayer 1991]. bucket region containing the point c5 Deletion is not a local operation ei- could have been merged with one of the ther. With the deletion of an entry, the neighboring buckets for better storage storage utilization of the corresponding utilization. We present various merging data page may drop below the given strategies later, when we discuss the threshold. Depending on the current deletion of data points. partitioning of space, it may then be To answer an exact match query, one possible to merge this page with a first uses the scales to locate the cell neighbor page and to drop the partition- containing the search point. If the ap- ing hyperplane from the corresponding propriate grid cell is not in main mem- scale. Depending on the implementation ory, one disk access is necessary. The of the grid directory, merging may re- loaded cell contains a reference to the quire a complete directory scan [Hin- page where possibly matching data can richs 1985]. Hinrichs discusses several be found. Retrieving this page may re- methods for finding candidates with quire another disk access. Altogether, which a given data bucket can merge, no more than two page accesses are necessary to answer this query. For a including the neighbor system and the range query, one must examine all cells multidimensional buddy system. The that overlap the search region. After neighbor system allows merging two ad- eliminating duplicates, one fetches the jacent regions if the result is a rectan- corresponding data pages into memory gular region again. In the buddy sys- for more detailed inspection. tem, two adjacent regions can be To insert a point, one first performs merged provided that the joined region an exact match query to locate the cell can be obtained by a regular binary ␯ subdivision of the universe. Both sys- and the data page i where the entry should be inserted. If there is sufficient tems are not able to eliminate com- ␯ pletely the possibility of a deadlock, in space left on i, the new entry is in- serted. If not, we have to distinguish which case no merging is feasible be- two cases, depending on the number of cause the resulting bucket region would grid cells that point to the data page not be box-shaped [Hinrichs 1985; See- where the new data item is to be in- ger and Kriegel 1990]. serted. If there are several, one checks For a theoretical analysis of the grid whether an existing hyperplane stored file and some of its variants, see Reg- in the scales can be used for splitting nier [1985] and Becker [1992]. Regnier the data page successfully. If so, a new shows in particular that the grid file’s data page is allocated and the data average directory size for uniformly dis- ϩ Ϫ ϩ points are distributed accordingly tributed data is ⌰(n1 (d 1)/(db 1)), among the data pages. If none of the where b is bucket size. He also proves existing hyperplanes is suitable, or if that the average space occupancy of the only one grid cell points to the data data buckets is about 69% (ln 2).

ACM Computing Surveys, Vol. 30, No. 2, June 1998 Multidimensional Access Methods • 189

Figure 17. Two-level grid file.

4.1.2 EXCELL [Tamminen 1982]. tory, which is a coarsened version of the Closely related to the grid file is the second level, the actual grid directory. EXCELL method (Extendible CELL) Entries of the root directory contain proposed by Tamminen [1982]. In con- pointers to the directory pages of the trast to the grid file, where the parti- lower level, which in turn contain point- tioning hyperplanes may be spaced ar- ers to the data pages. By having a sec- bitrarily, the EXCELL method ond level, splits are often confined to decomposes the universe regularly: all the subdirectory regions without affect- grid cells are of equal size. In order to ing too much of their surroundings. maintain this property in the presence Even though this modification leads to a of insertions, each new split results in slower directory growth, it does not the halving of all cells and therefore in solve the problem of superlinear direc- the doubling of the directory size. To tory size. Furthermore, Hinrichs implic- alleviate this problem, Tamminen itly assumes that the second level can [1983] later suggested a hierarchical be kept in main memory, so that the method, similar to the multilevel grid two-disk access principle still holds. file of Whang and Krishnamurthy Figure 17 shows a two-level grid file for [1985]. Overflow pages are introduced the running example. Each cell in the to limit the depth of the hierarchy. root directory has a pointer to the corre- sponding entries in the subdirectory, 4.1.3 The Two-Level Grid File [Hin- which have their own scales in turn. richs 1985]. The basic idea of the two- level grid file is to use a second grid file 4.1.4 The Twin Grid File [Hutflesz et to manage the grid directory. The first al. 1988b]. The twin grid file tries to of the two levels is called the root direc- increase space utilization compared to

ACM Computing Surveys, Vol. 30, No. 2, June 1998 190 • V. Gaede and O. Gu¨ nther

Figure 18. Twin grid file. the original grid file by introducing a in the secondary file. Consequently, all second grid file. As indicated by the points in S can be associated with an name “twin,” the relationship between empty or a full bucket region of P. Note these two grid files is not hierarchical, that there usually exists no unique opti- as in the case of the two-level grid file, mum for the distribution of data points but somewhat more balanced. Both grid between the two files. files span the whole universe. The dis- The fact that data points may be tribution of the data among the two files found in either of the two grid files is performed dynamically. Hutflesz et requires search operations to visit the al. [1988b] report an average occupancy two files, which causes some overhead. of 90% for the twin grid file (compared Nevertheless, the performance results to 69% for the original grid file) without reported by Hutflesz et al. [1988b] indi- substantial performance penalties. cate that the search efficiency of the To illustrate the underlying tech- twin grid file is competitive with the nique, consider the running example de- original grid file. Although the twin grid picted in Figure 18. Let us assume that file is somewhat inferior to the original each bucket can accommodate four grid file for smaller query ranges, this points. If the number of points in a changes for larger search spaces. bucket exceeds that limit, one possibil- ity is to create a new bucket and redis- 4.1.5 Multidimensional Linear Hash- tribute the points among the two new ing. Unlike multidimensional extend- buckets. Before doing this, however, the ible hashing, multidimensional linear twin grid file tries to redistribute the hashing uses no or only a very small points between the two grid files. A directory. It therefore occupies rela- transfer of points from the primary file tively little storage compared to extend- P to the secondary file S may lead to a ible hashing, and it is usually possible bucket overflow in S. It may, however, to keep all relevant information in main also imply a bucket underflow in P, memory. which may in turn lead to a bucket Several different strategies have been merge and therefore to a reduction of proposed to perform the required ad- buckets in P. The overall objective of dress computation. Early proposals the reshuffling is to minimize the total [Ouksel and Scheuermann 1983] failed number of buckets in the two grid files to support range queries; however, Krie- P and S. Therefore we shift points from gel and Seeger [1986] later proposed a P to S if and only if the resulting de- variant of linear hashing called multidi- crease in the number of buckets in P mensional order-preserving linear hash- outweighs the increase in the number of ing with partial expansions (MOLHPE). buckets in S. This strategy also favors This structure is based on the idea of points to be placed in the primary file in partially extending the buckets without order to form large and empty buckets expanding the file size at the same

ACM Computing Surveys, Vol. 30, No. 2, June 1998 Multidimensional Access Methods • 191 time. To this end, they use a d-dimen- three to four buckets be read in a row on sional expansion pointer referring to the the average before a seek is required, group of pages to be expanded next. whereas MOLHPE manages to read With this strategy, Kriegel and Seeger only one [Hutflesz et al. 1988a]. Wid- can guarantee a modest file growth, at mayer [1991] later noted, however, that least in the case of well-behaved data. both z-hashing and MOLHPE are of According to their experimental results, limited use in practice, due to their in- MOLHPE outperforms its competitors ability to adapt to different data distri- for uniformly distributed data. It fails, butions. however, for nonuniform distributions, mostly because the hashing function does not adapt gracefully to the given 4.2 Hierarchical Access Methods distribution. To solve this problem, the same au- In this section we discuss several PAMs thors later applied a stochastic tech- that are based on a binary or multiway nique [Burkhard 1984] to determine the tree structure. Except for the BANG file split points. Because of the name of that and the buddy tree, which are hybrid technique (␣-quantiles), the access structures, they perform no address method was called quantile hashing computation. Like hashing-based meth- [Kriegel and Seeger 1987, 1989]. The ods, however, they organize the data critical property of the division in quan- points in a number of buckets. Each tile hashing is that the original data, bucket usually corresponds to a leaf which may have a nonuniform distribu- node of the tree (also called data node) tion, are transformed into uniformly and a disk page, which contains those distributed values for ␣. These values points located in the corresponding are then used as input to the MOLHPE bucket region. The interior nodes of the algorithms for retrieval and update. tree (also called index nodes) are used to Since the region boundaries are not nec- guide the search; each of them typically essarily simple binary intervals, a small corresponds to a larger subspace of the directory is needed. In exchange, universe that contains all bucket re- skewed input data can be maintained as gions in the subtree below. A search efficiently as uniformly distributed operation is then performed by a top- data. Piecewise linear order-preserving down tree traversal. (PLOP) hashing was proposed by the At this point, individual tree struc- same authors a year later [Kriegel and tures still dominate the field, although Seeger 1988]. Because this structure more generic concepts are gradually at- can also be used as an access method for tracting more attention. The general- extended objects, we delay its discus- ized search (GIST) tree by Hellerstein et sion until Section 5.2.7. al. [1995], for example, attempts to sub- Another variant with better order- sume many of these common features preserving properties than MOLHPE under a generic architecture. has been reported by Hutflesz et al. Differences among individual struc- [1988a]. Their dynamic z-hashing uses a tures are mainly based on the charac- space-filling technique called z-ordering teristics of the regions. Table 1 shows [Orenstein and Merrett 1984] to guar- that in most PAMs the regions at the antee that points located close to each same tree level form a partitioning of other are also stored close together on the universe; that is, they are mutually the disk. Z-ordering is described in de- disjoint, with their union being the com- tail in Section 5.1.2. One disadvantage plete space. For SAMs this is not neces- of z-hashing is that a number of useless sarily true; as we show in Section 5, data blocks will be generated, as in the overlapping regions and partial cover- interpolation-based grid file [Ouksel age are important techniques to im- 1985]. On the other hand, z-hashing lets prove the search performance of SAMs.

ACM Computing Surveys, Vol. 30, No. 2, June 1998 192 • V. Gaede and O. Gu¨ nther

Figure 19. k-d-B-tree.

4.2.1 The k-d-B-Tree [Robinson 1981]. about half the entries are shifted to the The k-d-B-tree combines some of the new data node. Various heuristics are properties of the adaptive k-d-tree available to find an optimal split [Rob- [Bentley and Friedman 1979] and the inson 1981]. If the parent index node B-tree [Comer 1979] to handle multidi- does not have enough space left to ac- mensional points. It partitions the uni- commodate the new entries, a new page verse in the manner of an adaptive k-d- is allocated and the index node is split tree and associates the resulting by a hyperplane. The entries are dis- subspaces with tree nodes. Each inte- tributed among the two pages depend- rior node corresponds to an interval- ing on their position relative to the shaped region. Regions corresponding to splitting hyperplane, and the split is nodes at the same tree level are mutu- propagated up the tree. The split of the ally disjoint; their union is the complete index node may also affect regions at universe. The leaf nodes store the data lower levels of the tree, which must be points that are located in the corre- split by this hyperplane as well. Be- sponding partition. Like the B-tree, the cause of this forced split effect, it is not k-d-B-tree is a perfectly balanced tree possible to guarantee a minimum stor- that adapts well to the distribution of age utilization. the data. Other than for B-trees, how- Deletion is straightforward. After per- ever, no minimum space utilization can forming an exact match query, the entry be guaranteed. A k-d-B-tree for the run- is removed. If the number of entries ning example is sketched in Figure 19. drops below a given threshold, the data Search queries are answered in a node may be merged with a sibling data straightforward manner, analogously to node as long as the union remains a the k-d-tree algorithms. For the inser- d-dimensional interval. The procedure tion of a new data point, one first per- to find a suitable sibling node to merge forms a point search to locate the right with may involve several nodes. The bucket. If it is not full, the entry is union of data pages results in the dele- inserted. Otherwise, it is split and tion of at least one hyperplane in the

ACM Computing Surveys, Vol. 30, No. 2, June 1998 Multidimensional Access Methods • 193

Figure 20. LSD-tree.

parent index node. If an underflow oc- tree for the running example with one curs, the deletion has to be propagated external directory page. up the tree. As indicated previously, the split strategy of the LSD-tree does not as- 4.2.2 The LSD-Tree [Henrich et al. sume the data to be uniformly distrib- 1989]. We list the LSD (Local Split De- uted. On the contrary, it tries to accom- cision) tree as a point access method modate skewed data by combining two although its inventors emphasize that split strategies: the structure can also be used for man- aging extended objects. This claim is —data-dependent (SP1): The choice of based on the fact that the LSD-tree the split depends on the data and adapts well to data that are nonuni- tries to achieve a most balanced formly distributed and that it is there- structure; that is, there should be an fore well-suited for use in connection equal number of objects on both sides with the transformation technique; a of the split. As the name of the struc- more detailed discussion of this ap- ture suggests, this split decision is proach appears in Section 5.1.1. made locally. The directory of the LSD-tree is orga- —distribution-dependent (SP2): The nized as an adaptive k-d-tree, partition- split is done at a fixed dimension and ing the universe into disjoint cells of position. The given data are not taken various sizes. This results in a better into account because an underlying adaption to the data distribution than (known) distribution is assumed. the fixed binary partitioning. Although the k-d-tree may be arbitrarily unbal- To determine the split position SP, one anced, the LSD-tree preserves the ex- computes the linear combination of the ternal balancing property; that is, the split locations that would result from heights of its external subtrees differ at applying just one of those strategies: most by one. This property is main- tained by a special paging algorithm. If SP ϭ ␣SP1 ϩ ͑1 Ϫ ␣͒SP2 . the structure becomes too large to fit in main memory, this algorithm identifies The factor ␣ is determined empirically subtrees that can be paged out such based on the given data; it can vary as that the external balancing property is objects are inserted and deleted from preserved. Although efficient, this spe- the tree. cial paging strategy is obviously a major Henrich [1995] presented two algo- impediment for the integration of the rithms to improve the storage utiliza- LSD-tree into a general-purpose data- tion of the LSD-tree by redistributing base system. Figure 20 shows an LSD- data entries among buckets. Since these

ACM Computing Surveys, Vol. 30, No. 2, June 1998 194 • V. Gaede and O. Gu¨ nther strategies make the LSD-tree sensitive Seeger and Kriegel [1990], the number to the insertion sequence, the splitting of possible buddies is larger than in the strategy must be adapted accordingly. grid file and other structures, which In order to improve the search perfor- makes the buddy tree more flexible in mance for nonpoint data and range que- the case of updates. Experiments by ries, Henrich and Mo¨ller [1995] suggest Kriegel et al. [1990] indicate that the storing auxiliary information on the ex- buddy tree is superior to several other isting data regions along with the index PAMs, including the hB-tree, the BANG entries of the LSD-tree. file, and the two-level grid file. A buddy tree for the running example is shown 4.2.3 The Buddy Tree [Seeger and in Figure 21. Kriegel 1990]. The buddy tree is a dy- Two older structures, the interpola- namic hashing scheme with a tree- tion-based grid file by Ouksel [1985] structured directory. The tree is con- and the balanced multidimensional ex- structed by consecutive insertion, tendible hash tree by Otoo [1986], are cutting the universe recursively into both special cases of the buddy tree that two parts of equal size with iso-oriented can be obtained by restricting the prop- ␯ corre- hyperplanes. Each interior node erties of the regions. Interpolation- sponds to a d-dimensional partition based grid files avoid the excessive Pd(␯) and to an interval Id(␯) ʕ Pd(␯). growth of the grid file directory by rep- Id(␯) is the MBB of the points or inter- resenting blocks explicitly, which guar- vals below ␯. Partitions Pd (and there- antees that there is only one directory fore intervals Id) that correspond to entry for each data bucket. The disad- nodes on the same tree level are mutu- vantage of this approach is that empty ally disjoint. As in all tree-based struc- regions have to be introduced in the tures, the leaves of the directory point case of skewed data input. Seeger to the data pages. Other important [1991] later showed that the buddy tree properties of the buddy tree include: can easily be modified to handle spa- (1) each directory node contains at least tially extended objects by using one of two entries; the techniques presented in Section 5. (2) whenever a node ␯ is split, the d ␯ d ␯ 4.2.4 The BANG File [Freeston MBBs I ( i) and I ( j) of the two ␯ ␯ 1987]. To obtain a better adaption to resulting subnodes i and j are re- computed to reflect the current situ- the given data points, Freeston [1987] ation; and proposed a new structure, which he (3) except for the root of the directory, called the BANG (Balanced And Nested there is exactly one pointer refer- Grid) file—even though it differs from ring to each directory page. the grid file in many aspects. Similar to the grid file, it partitions the universe Due to property 1, the buddy tree may into intervals (boxes). What is different, not be balanced; that is, the leaves of however, is that in the BANG file the directory may be on different levels. bucket regions may intersect, which is Property 2 tries to achieve a high selec- not possible in the regular grid file. In tivity at the directory level. Properties 1 particular, one can form nonrectangular and 3 make sure that the growth of the bucket regions by taking the geometric directory remains linear. To avoid the difference of two or more intervals deadlock problem of the grid file, the (nesting). To increase storage utiliza- buddy tree uses k-d-trees [Orenstein tion, it is possible during insertion to 1982] to partition the universe. Only a redistribute points between different restricted number of buddies are admit- buckets. To manage the directory, the ted, namely, those that could have been BANG file uses a balanced search tree obtained by some recursive halving of structure. In combination with the the universe. However, as shown by hash-based partitioning of the universe,

ACM Computing Surveys, Vol. 30, No. 2, June 1998 Multidimensional Access Methods • 195

Figure 21. Buddy tree. the BANG file can therefore be viewed the spanning problem at the possible as a hybrid structure. expense of lower storage utilization. Ku- Figure 22 shows the BANG file for the mar [1994a] made a similar proposal running example. Three rectangles have based on the BD-tree and called the been cut out of the universe R1: R2, R5, resulting structure a G-tree (grid tree). and R6. In turn, the rectangles R3 and The structure differs from the BD-tree R4 are nested into R2 and R5, respec- in the way the partitions are mapped tively. If one represents the resulting into buckets. To obtain a simpler map- space partitioning as a tree using bit ping, the G-tree sacrifices the minimum interleaving, one obtains the structure storage utilization that holds for the shown on the right-hand side of Figure BD-tree. 22. Here the asterisk represents the Although the data partitioning given empty string, that is, the universe. A in Figure 22 is feasible for the BD-tree comparison with Figure 13 shows that and the original BANG file, it cannot be the BANG file can in fact be regarded as achieved with the BANG file using a paginated version of the BD-tree dis- forced splits [Freeston 1989a]. For this cussed in Section 3.2.3. variant, we would have to split the root In order to achieve a high storage and move, for example, entry c5 to the utilization, the BANG file performs bucket containing the entries p7 and c6. spanning splits that may lead to the Freeston [1989b] also proposed an ex- displacement of parts of the tree. As a tension to the BANG file to handle ex- result, a point search may in the worst tended objects. As often found in PAM case require the traversal of the entire extensions, the centroid is used to deter- directory in a depth-first manner. To mine the bucket in which to place a address this problem, Freeston [1989a] given object. To account for the object’s later proposed different splitting strate- spatial extension, the bucket regions gies, including forced splits as used by are extended where necessary [Seeger the k-d-B-tree. These strategies avoid and Kriegel 1988; Ooi 1990].

ACM Computing Surveys, Vol. 30, No. 2, June 1998 196 • V. Gaede and O. Gu¨ nther

Figure 22. BANG file.

Ouksel and Mayer [1992] proposed an but a directed acyclic graph. With re- access method called a nested interpola- gard to the geometry, this corresponds tion-based grid file that is closely re- to the union of the corresponding re- lated to the BANG file. The major dif- gions. Once again, the resulting region ference concerns the way the directory is typically no longer box-shaped. This is organized. In essence, the directory peculiarity is illustrated in Figure 23, consists of a list of one-dimensional ac- which shows an hB-tree for the running cess methods (e.g., B-trees) storing the example. Here the root node contains z-order encoding of the different data two pointers to its left descendant node. regions, along with pointers to the re- Its corresponding region u is the union spective data buckets. By doing so, Ouk- of two rectangles: the one to the left of sel and Mayer improved the worst-case x1 and the one above y1. The remaining bounds from O(n) (as in the case of the space (the right lower quadrant) is ex- BANG file) to O(logb n), where b is cluded from u, which is made explicit by bucket size. the entry ext in the corresponding k-d- 4.2.5 The hB-Tree [Lomet and Salz- tree. A similar observation applies to berg 1989, 1990]. The hB-tree (holey region G, which is again L-shaped: it brick tree) is related to the k-d-B-tree in corresponds to the NW, the SE, and the that it utilizes k-d-trees to organize the NE quadrants of the rectangle above y1. space represented by its interior nodes. Searching is similar to the k-d-B-tree; One of the most noteworthy differences each internal k-d-tree is traversed as is that node splitting is based on multi- usual. Insertions are also carried out ple attributes. As a result, nodes no analogously to the k-d-B-tree until a longer correspond to d-dimensional in- leaf node reaches its capacity and a split tervals but to intervals from which is required. Instead of using just one smaller intervals have been excised. single hyperplane to split the node, the Similar to the BANG file, the result is a hB-tree split is based on more than one somewhat fractal structure (a holey attribute and on the internal k-d-tree of brick) with an external enclosing region the data node to be split. Lomet and and several cavities called extracted re- Salzberg [1989] show that this policy gions. As we show later, this technique guarantees a worst-case data distribu- avoids the cascading of splits that is tion between the two resulting two 1 2 typical for many other structures. nodes of 3 : 3. This observation is not In order to minimize redundancy, the restricted to the hB-tree but generalizes k-d-tree corresponding to an interior to other access methods such as the node can have several leaves pointing to BD-tree and the BANG file. the same child node. Strictly speaking, The split of the leaf node causes the the hB-tree is therefore no longer a tree introduction of an additional k-d-tree

ACM Computing Surveys, Vol. 30, No. 2, June 1998 Multidimensional Access Methods • 197

Figure 23. hB-tree. node to describe the resulting subspace. ⌸-tree node consolidation algorithm. This may in turn lead to the split of the The lack of such an algorithm has been ancestor node and its k-d-tree. Since one of the major weaknesses of the hB- k-d-trees are not height-balanced, split- tree. Furthermore, the hB⌸-tree cor- ting the tree at its root may lead to an rects a flaw in the splitting/posting al- unbalanced distribution of the nodes. gorithm of the hB-tree that may occur The tree is therefore usually split at a for more than three index levels. The lower level, which corresponds to the essential idea of the correction is to excision of a convex region from the impose restrictions on the splitting/ space corresponding to the node to be posting algorithms, which in turn af- split. The entries belonging to that sub- fects the space occupancy. space are extracted and moved to a new One minor problem remains: as men- hB-tree node. To reflect the absence of tioned, the hB-tree may store several the excised region, the hB-tree node is references to the same child node. The assigned an external marker, which in- number of nodes may in principle ex- dicates that the region is no longer a pose a growth behavior that is superlin- simple interval. With this technique the ear in the number of regions; however, problem of forced splits is avoided. this observation seems of mainly theo- Splits are local and do not have to be retical interest. According to the au- propagated downwards. thors of the hB⌸-tree [Evangelidis et al. In summary, the leaf nodes of the 1995], it is quite rare that more than internal k-d-trees are used to one leaf of the underlying k-d tree refers to any given child. In their experiments, —reference a collection of data records; more than 95% of the index nodes and —reference other hB-tree nodes; all of the data nodes had only one such —indicate that a part of this tree has reference. been extracted. 4.2.6 The BV-Tree [Freeston 1995]. In a later Ph.D. thesis [Evangelidis The BV-tree represents an attempt to 1994], the hB-tree is extended to allow solve the d-dimensional B-tree problem, for concurrency and recovery by modify- that is, to find a generic generalization ing it in such a way that it becomes a of the B-tree to higher dimensions. The special case of the ⌸-tree [Lomet and BV-tree is not meant to be a concrete Salzberg 1992]. Consequently, the new access method, but rather a conceptual structure is called the hB⌸-tree [Evan- framework that can be applied to a va- gelidis et al. 1995]. As a result of these riety of existing access methods, includ- modifications, the new structure can ing the BANG file or the hB-tree. immediately take advantage of the Freeston’s proposal is based on the

ACM Computing Surveys, Vol. 30, No. 2, June 1998 198 • V. Gaede and O. Gu¨ nther

Figure 24. BV-tree. conjecture that one can maintain the responding regions overlap the search major strengths of the B-tree in higher point. Among those entries inspected, dimensions, provided one relaxes the we choose the best-matching entry to strict requirements concerning tree investigate next. We may possibly also balance and storage utilization. The BV- store some guards in the guard set. At tree is not completely balanced. Fur- the next level this procedure is repeated thermore, although the B-tree guaran- recursively, this time taking the stored tees a worst-case storage utilization of guards into account. Before following 50%, Freeston argues that such a com- the best-matching entry down to the paratively high storage utilization can- next level, the guard set is updated by not be ensured for higher dimensions merging the matching new guards with for topological reasons. However, the the existing ones. Two guards at the BV-tree manages to achieve the 33% same level are merged by discarding the lower bound suggested by Lomet and poorer match. This search continues re- Salzberg [1989]. cursively until we reach the leaf level. To achieve a guaranteed worst-case Note that for point queries, the length search performance, the BV-tree com- of the search path is equal to the height bines the excision concept [Freeston of the BV-tree because each region in 1987] with a technique called promo- space is represented by a unique node tion. Here, intervals from lower levels of entry. the tree are moved up the tree, that is, Figure 24 shows a BV-tree and the closer to the root. To keep track of the corresponding space partitioning for the resulting changes, with each promoted running example. For illustration pur- region we store a level number (called a poses we confine the grouped regions or guard) that denotes the region’s original objects not by a tight polyline, but by a level. loosely wrapped boundary. In this ex- The search algorithms are based on a ample, the region D0 acts as a guard. It notional backtracking technique. While is clear from the space partitioning that descending the tree, we store possible D0 originally belongs to the bottom in- alternatives (relevant guards of the dif- dex level (i.e., the middle level in the ferent index levels) in a guard set. The figure). Since it functions as a guard for entries of this set act as backtracking the enclosed region S1, however, it has points and represent a single path from been promoted to the root level. Sup- the root to the level currently inspected; pose we are interested in all objects for point queries, they can be main- intersecting the black rectangle X. tained as a stack. To answer a point Starting at the root, we place D0 in the query, we start at the root and inspect guard set and investigate S1. Because all node entries to see whether the cor- inspection of S1 reveals that the search

ACM Computing Surveys, Vol. 30, No. 2, June 1998 Multidimensional Access Methods • 199 region is included neither in P0 nor in they first partition the universe with a N0 or M0, we backtrack to D0 and in- grid. Each of the grid cells is labeled spect the entries for D0. In our example, with a unique number that defines its no entry satisfies the query. position in the total order (the space- In a later paper, Freeston [1997] dis- filling curve). The points in the given cusses complexity issues related to up- data set are then sorted and indexed dates of guards. In the presence of such according to the grid cell in which they updates, it is necessary to “downgrade” are contained. Note that although the (demote) entries that are no longer labeling is independent of the given guards, which may in turn affect the data, it is obviously critical for the pres- overall structure negatively. Freeston’s ervation of proximity in one-dimen- conclusion is that the logarithmic access sional address space. That is, the way performance and the minimum storage we label the cells determines how clus- utilization of the BV-tree can be pre- tered adjacent cells are stored on sec- served by postponing the demotion of ondary memory. such entries, which may lead to (very) Figure 25 shows four common label- large index nodes. ings. Figure 25a corresponds to a row- wise enumeration of the cells [Samet 4.3 Space-Filling Curves for Point Data 1990b]. Figure 25b shows the cell enu- meration imposed by the Peano curve We already mentioned the main reason [Morton 1966], also called quad codes why the design of multidimensional ac- [Finkel and Bentley 1974], N-trees cess methods is so difficult compared to [White 1981], locational codes [Abel and the one-dimensional case: There is no Smith 1983], or z-ordering [Orenstein total order that preserves spatial prox- and Merrett 1984]. Figure 25c shows imity. One way out of this dilemma is to the Hilbert curve [Faloutsos and Rose- find heuristic solutions, that is, to look man 1989; Jagadish 1990a], and Figure for total orders that preserve spatial 25d depicts Gray ordering [Faloutsos proximity at least to some extent. The 1986, 1988], which is obtained by inter- idea is that if two objects are located leaving the Gray codes of the x- and close together in original space, there y-coordinates in a bitwise manner. Gray should at least be a high probability codes of successive cells differ in exactly that they are close together in the total one bit. order, that is, in the one-dimensional Based on several experiments, Abel image space. For the organization of and Mark [1990] conclude that z-order- this total order one could then use a ing and the Hilbert curve are most suit- one-dimensional access method (such as able as multidimensional access meth- aBϩ-tree), which may provide good per- ods. Jagadish [1990a] and Faloutsos formance at least for point queries. and Rong [1991] all prefer the Hilbert Range queries are somewhat more com- curve of those two. plicated; a simple mapping from multi- Z-ordering is one of the few spatial dimensional to one-dimensional range access methods that has found its way queries often implies major performance into commercial database products. In penalties. Tropf and Herzog [1981] particular, Oracle [1995] has adapted present a more sophisticated and effi- the technique and offered it for some cient algorithm for this problem. time as a product. Research on the underlying mapping An important advantage of all space- problem goes back well into the last filling curves is that they are practically century; see Sagan [1994] for a survey. insensitive to the number of dimensions With regard to its relevance for spatial if the one-dimensional keys can be arbi- searching, Samet [1990b] provides a trarily large. Everything is mapped into good overview of the subject. One thing one-dimensional space, and one’s favor- all proposals have in common is that ite one-dimensional access method can

ACM Computing Surveys, Vol. 30, No. 2, June 1998 200 • V. Gaede and O. Gu¨ nther

Figure 25. Four space-filling curves. be applied to manage the data. An obvi- A simpler version of this classification ous disadvantage of space-filling curves was first introduced by Seeger and Krie- is that incompatible index partitions gel [1988]. Later on, Kriegel et al. cannot be joined without recomputing [1991] added another dimension to this the codes of at least one of the two taxonomy: a spatial access method’s indices. base type, that is, the spatial data type it supports primarily. Table 2 shows the 5. SPATIAL ACCESS METHODS resulting classification of spatial access methods. Note that most structures use All multidimensional access methods the interval as a base type. presented in the previous section have In the following sections, we present been designed to handle sets of data each of these techniques in detail, to- points and support spatial searches on gether with several SAMs based on it. them. None of those methods is directly applicable to databases containing ob- 5.1 Transformation jects with a spatial extension. Typical examples include geographic databases, One-dimensional access methods (Sec- containing mostly polygons, or mechan- tion 3.1) and PAMs (Section 4) can often ical CAD data, consisting of three-di- be used to manage spatially extended mensional polyhedra. In order to handle objects, provided the objects are first such extended objects, point access transformed into a different representa- methods have been modified using one tion. There are essentially two options: of the techniques: one can either transform each object into a higher-dimensional point [Hin- (1) transformation (object mapping), richs 1985; Seeger and Kriegel 1988], or (2) overlapping regions (object bound- transform it into a set of one-dimen- ing), sional intervals by means of space-fill- (3) clipping (object duplication), or ing curves. We discuss the two tech- (4) multiple layers. niques in turn.

ACM Computing Surveys, Vol. 30, No. 2, June 1998 Multidimensional Access Methods • 201

Table 2. Classification of SAMs [Kriegel et al. 1991]

5.1.1 Mapping to Higher-Dimensional transformation. For presentation pur- Space. Simple geometric shapes can be poses, the figure shows a mapping from represented as points in higher-dimen- intervals in E1 to points in E2. Figures sional space. For example, it takes four 26a and 27a show the transformation real numbers to represent a (two-dimen- result for the range query with search sional) rectangle in E2. Those numbers range [l, u]. In dual space this range may be interpreted as coordinates of a query maps into a general region query. point in E4. One possibility is to take Any point in dual space that lies in the the x- and y-coordinates of two diagonal shaded areas corresponds to an interval corners (endpoint transformation); an- in original space that overlaps the other option is based on the centroid search interval [l, u], and vice versa. and two additional parameters for the Enclosure and containment queries extension of the object in the x- and with the interval [l, u] as argument y-direction (midpoint transformation). also map into general region queries Any such transformation maps a data- (Figures 26b and 27b). A point query, base of rectangles onto a database of finally, maps into a range query for the four-dimensional points, which can then endpoint transformation (Fig. 26c) and be managed by one of the PAMs dis- a general region query for the midpoint cussed in the previous section. Search transformation (Fig. 27c). operations can be expressed as point Notwithstanding its conceptual ele- and region queries in this dual space. gance, this approach has several disad- If the original database contains more vantages. First, as the preceding exam- complex objects, they have to be approx- ples indicate, the formulation of point imated—for example, by a rectangle or and range queries in dual space is usu- a sphere—before transformation. In this ally much more complicated than in case, the point access method can lead original space [Nievergelt and Hinrichs to only a partial solution (cf. Figure 2). 1987]. Finite search regions may map Figures 26 and 27 show the dual into infinite search regions in dual space equivalents of some common que- space, and some more complex queries ries. Figure 26 uses the endpoint trans- involving spatial predicates may no formation and Figure 27 the midpoint longer be expressible at all [Henrich et

ACM Computing Surveys, Vol. 30, No. 2, June 1998 202 • V. Gaede and O. Gu¨ nther

Figure 26. Search queries in dual space—endpoint transformation: (a) intersection query; (b) contain- ment/enclosure queries; (c) point query.

Figure 27. Search queries in dual space—midpoint transformation: (a) intersection query; (b) contain- ment/enclosure queries; (c) point query. al. 1989; Orenstein 1990; Pagel et al. nism to avoid searching large empty 1993]. Second, depending on the map- query spaces, which may occur as a ping chosen, the distribution of points result of the transformation. in dual space may be highly nonuniform even though the original data are uni- 5.1.2 Space-Filling Curves for Ex- formly distributed. With the endpoint tended Objects. Space-filling curves (cf. transformation, for example, there are Section 4.3) are a very different type of no image points below the main diago- transformation approach that seems to nal [Faloutsos et al. 1987]. Third, the have fewer of the drawbacks listed in images of two objects that are close in the previous section. Space-filling the original space may be arbitrarily far curves can be used to represent ex- apart from each other in dual space. tended objects by a list of grid cells or, To overcome some of these problems, Henrich et al. [1989], Faloutsos and equivalently, a list of one-dimensional Rong [1991], as well as Pagel et al. intervals that define the position of the [1993] have proposed special transfor- grid cells concerned. In other words, a mation and split strategies. A structure complex spatial object is approximated designed explicitly to be used in connec- not by only one simpler object, but by tion with the transformation technique the union of several such objects. There is the LSD-tree (cf. Section 4.2.2). Per- are different variations of this basic formance studies by Henrich and Six concept, including z-ordering [Orenstein [1991] confirm the claim that the LSD- and Merrett 1984], the Hilbert R-tree tree adapts well to nonuniform distribu- [Kamel and Faloutsos 1994], and the tions, which is of particular relevance in UB-tree [Bayer 1996]. As an example, this context. It also contains a mecha- we discuss z-ordering in more detail.

ACM Computing Surveys, Vol. 30, No. 2, June 1998 Multidimensional Access Methods • 203

Figure 28. Z-ordering of a polygon.

For a discussion of the Hilbert R-tree, ing the universe. After several splits, see Section 5.2.1. starting with a vertical split line, we Z-ordering [Orenstein and Merrett obtain Figure 28b. Nine Peano regions 1984] is based on the Peano curve. A of different shapes and sizes approxi- simple algorithm to obtain the z-order- mate the object. The labeling of each ing representation of a given extended Peano region is shown in Figure 28c. object can be described as follows. Start- Consider the Peano region z៮ in the ing from the (fixed) universe containing lower left part of the given polygon. It the data object, space is split recur- lies to the left of the first vertical hyper- sively into two subspaces of equal size plane and below the first horizontal hy- by (d Ϫ 1)-dimensional hyperplanes. As perplane, resulting in the first two bits in the k-d-tree, the splitting hyper- being 00. As we further partition the planes are iso-oriented, and their direc- lower left quadrant, z៮ lies on the left of tions alternate in fixed order among the the second vertical hyperplane but d possibilities. The subdivision contin- above the second horizontal hyperplane. ues until one of the following conditions The complete bit string accumulated so holds. far is therefore 0001. In the next round ៮ (1) The current subspace does not over- of decompositions, z lies to the right of lap the data object. the third vertical hyperplane and above the third horizontal hyperplane, result- (2) The current subspace is fully en- ing in two additional 1s. The complete closed in the data object. bit string describing z៮ is therefore (3) Some given level of accuracy has 000111. been reached. Figures 28b and 28c also give some The data object is thus represented by bit strings along the coordinate axes, a set of cells, called Peano regions or which describe only the splits orthogo- z-regions. As shown in Section 3.2.3, nal to the given axis. The string 01 on each such Peano region can be repre- the x-axis, for example, describes the sented by a unique bit string, called subspace to the left of the first vertical Peano code, ST_MortonNumber, z-value, split and to the right of the second ver- or DZ-expression. Using those bit tical split. By bit-interleaving the bit strings, the cells can then be stored in a strings that one finds when projecting a standard one-dimensional index, such Peano region onto the coordinate axes, asaBϩ-tree. we obtain its Peano code. Note that if a Figure 28 shows a simple example. Peano code z1 is the prefix of some other Figure 28a shows the polygon to be ap- Peano code z2, the Peano region corre- proximated, with the frame represent- sponding to z1 encloses the Peano re-

ACM Computing Surveys, Vol. 30, No. 2, June 1998 204 • V. Gaede and O. Gu¨ nther

Figure 29. Z-ordering.

gion corresponding to z2. The Peano re- they do not satisfy the search predicate. gion corresponding to 00, for example, A simple way to reduce the number of encloses the regions corresponding to false drops is to add a single bit to the 0001 and 000. This is an important ob- encoding that reflects for each Peano servation, since it can be used for query region whether it is completely enclosed processing [Gaede and Riekert 1994]. in the original object [Gaede 1995a]. An Figure 29 shows Peano regions for the advantage of z-ordering is that local running example. changes of granularity lead to only local As z-ordering is based on an underly- changes of the corresponding encoding. ing grid, the resulting set of Peano re- gions is usually only an approximation 5.2 Overlapping Regions of the original object. The termination criterion depends on the accuracy or The key idea of the overlapping regions granularity (maximum number of bits) technique is to allow different data desired. More Peano regions obviously buckets in an access method to corre- yield more accuracy, but they also in- spond to mutually overlapping sub- crease the size and complexity of the spaces. With this method we can assign approximation. As pointed out by Oren- any extended object directly and as a stein [1989b], there are two possibly whole to one single bucket region. Con- conflicting objectives: the number of sider, for instance, the k-d-B-tree for Peano regions to approximate the object the running example, depicted in Figure should be small, since this results in 19, and one of the polygons given in the fewer index entries; and the accuracy of scenario (Figure 9), say r10. r10 over- the approximation should be high, since laps two bucket regions, the one con- this reduces the expected number of taining p10, c1, and c2, and the other false drops [Orenstein 1989a, b; Gaede one containing c10 and p9. If we extend 1995b]. Objects are thus paged in from one of those regions to accommodate secondary memory, only to find out that r10, this polygon could be stored in the

ACM Computing Surveys, Vol. 30, No. 2, June 1998 Multidimensional Access Methods • 205 corresponding bucket. Note, however, optimal strategy for every insertion, that this extension inevitably leads to some heuristic may be used. an overlap of regions. When a subspace needs to be split, Search algorithms can be applied al- one also tries to find a split that leads to most unchanged. The only differences minimal overall overlap. Guttman are due to the fact that the overlap may [1984], Greene [1989], and Beckmann et increase the number of search paths we al. [1990] suggest some heuristics for have to follow. Even a point query may this problem. require the investigation of multiple 5.2.1 The R-Tree [Guttman 1984]. An search paths because there may be sev- R-tree corresponds to a hierarchy of eral subspaces at any index level that nested d-dimensional intervals (boxes). include the search point. For range and Each node ␯ of the R-tree corresponds to region queries, the average number of a disk page and a d-dimensional inter- search paths increases as well. val Id(␯). If ␯ is an interior node then Hence, although functionality is not a the intervals corresponding to the de- problem when using overlapping re- ␯ ␯ d ␯ scendants i of are contained in I ( ). gions, performance can be. This is par- Intervals at the same tree level may ticularly relevant when the spatial da- overlap. If ␯ is a leaf node, Id(␯) is the tabase contains objects whose size is d-dimensional minimum bounding box large relative to the size of the universe. of the objects stored in ␯. For each object Typical examples are known from geo- in turn, ␯ stores only its MBB and a graphic applications where one must reference to the complete object descrip- represent objects of widely varying size tion. Other properties of the R-tree in- (such as buildings and states) in the clude the following. same spatial database. Each insertion of a new data object may increase the —Every node contains between m and overlap and therefore the average num- M entries unless it is the root. The ber of search paths to be traversed per lower bound m prevents the degener- ation of trees and ensures an efficient query. Eventually, the overlap between storage utilization. Whenever the subspaces may become large enough to number of a node’s descendants drops render the index ineffective because one below m, the node is deleted and its ends up searching most of the index for descendants are distributed among each single query. A well-known exam- the sibling nodes (tree condensation). ple where this degenerate behavior has The upper bound M can be derived been observed is the R-tree [Guttman from the fact that each tree node cor- 1984; Greene 1989]. Several modifica- responds to exactly one disk page. tions have been presented to mitigate these problems, including a technique to —The root node has at least two entries unless it is a leaf. minimize the overlap [Roussopoulos and Leifker 1985]; see Section 5.2.1 for a —The R-tree is height-balanced; that is, detailed discussion. all leaves are at the same level. The A minor problem with overlapping re- height of an R-tree is at most   Ͼ gions concerns ambiguities during in- logm (N) for N index records (N 1). sertion. If we insert a new object, we Searching in the R-tree is similar to could in principle enlarge any subspace the B-tree. At each index node ␯, all to accommodate it. To optimize perfor- index entries are tested to see whether mance, there exist several strategies they intersect the search interval Is.We ␯ d ␯ പ [Pagel et al. 1993]. For example, we then visit all child nodes i with I ( i) Þ À could try to find the subspace that Is . Due to the overlapping region causes minimal additional overlap, or paradigm, there may be several inter- d ␯ the one that requires the least enlarge- vals I ( i) that satisfy the search predi- ment. If it takes too long to compute the cate. In the worst case, one may have to

ACM Computing Surveys, Vol. 30, No. 2, June 1998 206 • V. Gaede and O. Gu¨ nther

Figure 30. R-tree. visit every index page. Figure 30 shows enlargement of the corresponding an R-tree for the running example. Re- bucket region, we adjust it appropri- member that the mi denote the MBBs of ately and propagate the change up- the polygonal data objects ri. A point wards. If there is not enough space left query with search point X results in two in the leaf, we split it and distribute the paths: R8 3 R4 3 m7 and R7 3 R3 3 entries among the old and the new page. m5. Once again, we adjust each of the new Because the R-tree only manages intervals accordingly and propagate the MBBs, it cannot solve a given search split up the tree. problem completely unless, of course, As for deletion, we first perform an the actual data objects are interval- exact match query for the object in shaped. Otherwise the result of an R- question. If we find it in the tree, we tree query is a set of candidate objects, delete it. If the deletion causes no un- whose actual spatial extent has to be derflow, we check whether the bounding tested for intersection with the search interval can be reduced in size. If so, we space (cf. Fig. 2). This step, which may perform this adjustment and propagate involve additional disk accesses and it upwards. If the deletion causes node considerable computation, has not been occupation to drop below m, however, taken into account in most published we copy the node content into a tempo- performance analyses [Guttman 1984; rary node and remove it from the index. Greene 1989]. We then propagate the node removal up To insert an object o, we insert the the tree, which typically results in the minimum bounding interval Id(o) and adjustment of several bounding inter- an object reference into the tree. In con- vals. Afterwards we reinsert all or- trast to searching, we traverse only a phaned entries of the temporary node. single path from the root to the leaf. At Alternatively, we can merge the or- each level we choose the child node ␯ phaned entries with sibling entries. In whose corresponding interval Id(␯) both cases, one may again have to ad- needs the least enlargement to enclose just bounding intervals further up the the data object’s interval Id(o). If sev- tree. eral intervals satisfy this criterion, In his original paper, Guttman [1984] Guttman proposes selecting the descen- discusses various policies to minimize dant associated with the smallest inter- the overlap during insertion. For node val. As a result, we insert the object splitting, for example, Guttman sug- only once; that is, the object is not dis- gests several algorithms, including a persed over several buckets. Once we simpler one with linear time complexity have reached the leaf level, we try to and a more elaborate one with qua- insert the object. If this requires an dratic complexity. Later work by other

ACM Computing Surveys, Vol. 30, No. 2, June 1998 Multidimensional Access Methods • 207

Figure 31. R*-tree. researchers led to the development of and Yao 1981] to R-trees, yielding two more sophisticated policies. The packed structures both called the R-link tree. R-tree [Roussopoulos and Leifker 1985], Kornacker and Banks empirically dem- for example, computes an optimal parti- onstrate that their R-link tree is supe- tioning of the universe and a corre- rior to the R-tree using lock-coupling. sponding minimal R-tree for a given 5.2.2 The R*-Tree [Beckmann et al. scenario. However, it requires all data 1990]. Based on a careful study of R- to be known a priori. tree behavior under different data dis- Other interesting variants of the R- tributions, Beckmann et al. [1990] iden- tree include the sphere tree by Oosterom tified several weaknesses of the original [1990] and the Hilbert R-tree by Kamel algorithms. In particular, they con- and Faloutsos [1994]. The sphere tree firmed the observation of Roussopoulos corresponds to a hierarchy of nested and Leifker [1985] that the insertion d-dimensional spheres rather than in- phase is critical for good search perfor- tervals. The Hilbert R-tree combines the mance. The design of the R*-tree (see overlapping regions technique with Figure 31) therefore introduces a policy space-filling curves (cf. Section 4.3). It called forced reinsert: If a node over- first stores the Hilbert values of the flows, it is not split right away. Rather, data rectangles’ centroids in a Bϩ-tree, ϩ p entries are removed from the node then enhances each interior B -tree and reinserted into the tree. The pa- node by the MBB of the subtree below. rameter p may vary; Beckmann et al. This facilitates the insertion of new ob- suggest it should be about 30% of the jects considerably. Together with a re- maximal number of entries per page. vised splitting policy, Kamel and Fa- Another issue investigated by Beck- loutsos report good performance results mann et al. concerns the node-splitting for both searches and updates. How- policy. Although Guttman’s R-tree algo- ever, since their splitting policy takes rithms tried only to minimize the area only the objects’ centroids into account, covered by the bucket regions, the R*- the performance of the structure is tree algorithms also take the following likely to deteriorate in the presence of objectives into account. large objects. Ng and Kameda [1993] discuss how to —Overlap between bucket regions at support concurrency in R-trees by the same tree level should be mini- adopting the lock-coupling technique of mized. The less overlap, the smaller B-trees [Bayer and Schkolnick 1977] to the probability that one has to follow R-trees. Similarly, Ng and Kameda multiple search paths. [1994] and Kornacker and Banks [1995] —Region perimeters should be mini- apply ideas of the B-link tree [Lehman mized. The preferred rectangle is the

ACM Computing Surveys, Vol. 30, No. 2, June 1998 208 • V. Gaede and O. Gu¨ nther

square, since this is the most compact the usual block size. In order to find a rectangular representation. suitable split, the X-tree also maintains —Storage utilization should be maxi- the history of previous splits. mized. 5.2.3 The P-Tree [Jagadish 1990c]. In The improved splitting algorithm of many applications, intervals are not a Beckmann et al. [1990] is based on the good approximation of the data objects plane-sweep paradigm [Preparata and enclosed. In order to combine the flexi- Shamos 1985]. In d dimensions, its time bility of polygon-shaped containers with complexity is O(d ⅐ n ⅐ log n) for a node the simplicity of the R-tree, Jagadish with n intervals. [1990c] and Schiwietz [1993] indepen- In summary, the R*-tree differs from dently proposed different variations of the R-tree mainly in the insertion algo- polyhedral trees or P-trees. To distin- rithm; deletion and searching are essen- guish the two structures, we refer to the tially unchanged. Beckmann et al. re- P-tree of Jagadish [1990c] as the JP-tree port performance improvements of up to and to the P-tree of Schiwietz [1993] as 50% compared to the basic R-tree. Their the SP-tree. implementation also shows that reinser- The JP-tree first introduces a variable tion may improve storage utilization. In number m of orientations in the d-di- broader comparisons, however, Hoel mensional universe, where m Ͼ d. For and Samet [1992] and Gu¨ nther and instance, in two dimensions (d ϭ 2) we Gaede [1997] found that the CPU time may have four orientations (m ϭ 4): overhead of reinsertion can be substan- two parallel to the coordinate axes (i.e., tial, especially for large page sizes; see iso-oriented) and two parallel to the two Section 6 for further details. main diagonals. Objects are approxi- One of the major insights of the R*- mated by minimum bounding polytopes tree is that node splitting is critical for the overall performance of the access whose faces are parallel to these m ori- method. Since a naive (exhaustive) ap- entations. Clearly, the quality of the proach has time complexity O(d ⅐ 2n) for approximations is positively correlated n given intervals, there is a need for with m. We can now map the original efficient and optimal splitting policies. space into an m-dimensional orientation Becker et al. [1992] proposed a polyno- space, such that each (d-dimensional) approximating polytope Pd turns into mial time algorithm that finds a bal- m anced split, which also optimizes one of an m-dimensional interval I . Any point inside (outside) Pd maps onto a several possible objective functions m (e.g., minimum sum of areas or mini- point inside (outside) I , whereas the mum sum of perimeters). They assume opposite is not necessarily true. To in their analysis that the intervals are maintain the m-dimensional intervals, presorted in some specific order. More a large selection of SAMs is available; Jagadish [1990c] suggests the R-tree or recently, Ang and Tan [1997] presented ϩ a new linear node splitting algorithm, R -tree (cf. Section 5.3.2) for this pur- based on a simple heuristic. According pose. to the results reported, it outperforms An interesting feature of the JP-tree its competitors. is the ability to add hyperplanes to the Berchtold et al. [1996] proposed a attribute space dynamically without modification of the R-tree called the X- having to reorganize the structure. By tree that seems particularly well suited projecting the new intervals of the ex- for indexing high-dimensional data. The tended orientation space onto the old X-tree reduces overlap among directory orientation space, it is still possible to intervals by using a new organization: it use the old structure. Consequently, we postpones node splitting by introducing can obtain an R-tree from a higher- supernodes, that is, nodes larger than dimensional JP-tree structure by drop-

ACM Computing Surveys, Vol. 30, No. 2, June 1998 Multidimensional Access Methods • 209

Figure 32. P-tree [Jagadish 1990c]. ping all hyperplanes that are not iso- dra. This work continues the line of oriented. work by Jagadish [1990c] in the use of The interior nodes of the JP-tree rep- nonstandard axes for better filtering. resent a hierarchy of nested polytopes, similar to the R-tree or the cell tree (cf. 5.2.4 The P-Tree [Schiwietz 1993]. The Section 5.3.3). Polytopes corresponding P-Tree of Schiwietz, here called the SP- to different nodes at the same tree level tree, chooses a slightly different ap- may overlap. For search operations we proach for storing polygonal objects that first compute the minimum bounding tries to combine the advantages of the polytope of the search region and map it cell tree and the R*-tree for the two- onto an m-dimensional interval. The dimensional case, while avoiding the search efficiency then depends on the drawbacks of both methods. Basically, chosen PAM. The same applies for dele- the SP-tree is an R-tree whose interior tion. nodes correspond to a nesting of poly- The introduction of additional hyper- topes rather than just rectangles. In planes yields a better approximation, general, the number of vertices (and but it increases the size of the entries, therefore the storage requirements) of a thus reducing the fanout of the interior polytope are not bounded. Moreover, nodes. Experiments reported by Jagad- when used for approximating other ob- ish [1990c] suggest that a 10-dimen- jects, the accuracy of the approximation sional orientation space (m ϭ 10) is a is positively correlated with the number good choice for storing 2-dimensional of vertices of the approximating convex lines (d ϭ 2) with arbitrary orientation. polygon. On the other hand, when used This needs to be compared to a simple as index entries, there should be an MBB approach. Although the latter upper bound in order to guarantee a technique may sometimes render poor minimum fanout of the interior nodes. approximations, the representation re- To determine a reasonably good compro- quires only four numbers per line. Stor- mise between these conflicting objec- ing a 10-dimensional interval, on the tives, extensive investigations have other hand, requires 20 numbers, that been conducted by Brinkhoff et al. is, five times as many. Another draw- [1993a] and Schiwietz [1993]. According back of the JP-tree is the fixed orienta- to these studies, pentagons or hexagons tion of the hyperplanes. Figure 32 seem to offer the best tradeoff between shows the running example for m ϭ 4. storage requirements and approxima- To overcome the problem of poor fil- tion quality. tering, Brodsky et al. [1995] proposed If node splittings or insertions lead to methods for effectively computing a set additional vertices such that some of optimal axes for separating polyhe- bounding polygons have more vertices

ACM Computing Surveys, Vol. 30, No. 2, June 1998 210 • V. Gaede and O. Gu¨ nther

Figure 33. P-tree [Schiwietz 1993]. than the threshold, the surplus vertices per) subspace. If none of the objects are removed one by one. This leads to a placed in the corresponding subspace larger area and therefore to a decrease crosses the splitting hyperplane, the of the quality of the approximation. To lower bound of the upper interval is reduce overlap between the convex con- greater than the discriminator, and the tainers, Schiwietz suggests using a upper bound of the lower interval is less method similar to the R*-tree. Further- than dk. Leaf nodes of the binary tree more, in order to save storage space and contain the minimal bounds (dotted to improve storage utilization, it is pos- lines) of the objects in the corresponding sible to restrict the number of orienta- data page. tions for the polygon edges (similar to Prior to inserting an object o, we de- the JP-tree). termine its centroid and its MBB. By Figure 33 shows the SP-tree for the comparing the centroid with the stored running example. To our knowledge, no discriminators, we determine the next performance results have been reported child to be inspected. Note that there is so far for either of the two P-trees. no ambiguity. During insertion, we have 5.2.5 The SKD-Tree [Ooi et al. 1987; to adjust the upper and lower bounds Ooi 1990]. A variant of the k-d-tree ca- for extended objects accordingly. Upon pable of storing spatially extended ob- reaching the data node level, we test jects is the spatial k-d-tree or skd-tree. whether there is enough space available The skd-tree allows regions to overlap. to accommodate the object. If so, we To keep track of the mutual overlap, we insert the object; otherwise we split the store an upper and a lower bound with data node and insert the new discrimi- each discriminator, representing the nator into the skd-tree. Likewise, the maximal extent of the objects in the two bounds of the new subspaces need to be subtrees. For example, consider the adjusted. splitting hyperplane (discriminator) hx1 As usual, searching starts at the root depicted in Figure 34 and its upper and and corresponds to a top-down tree tra- lower bounds bx1 and bx2, respectively. versal. At each interior node we check The solid lines are the splitting hyper- the discriminator and the boundaries to planes and the dashed lines represent decide which child(ren) to visit next. the upper and lower bounds of the cor- Deleting an object starts with an ex- responding subtrees. m3 is the rectan- act match query to determine the cor- gle closest to hx1 without crossing it, rect leaf node. If a deletion causes an thus determining the maximum extent underflow, we insert the remaining en- bx1 of the objects in the left (lower) tries into the sibling data node and re- subspace. Similarly, m5 determines the move the splitting hyperplane. If this minimum extent bx2 for the right (up- insertion results in an overflow, we split

ACM Computing Surveys, Vol. 30, No. 2, June 1998 Multidimensional Access Methods • 211

Figure 34. SKD-tree. the page and insert the new hyperplane point enables the GBD-tree to perform into the skd-tree. If no merge with a an insertion along a single path from sibling leaf node is possible, we delete the root to a leaf. However, no apparent that leaf and its parent node. By redi- advantage is gained in search perfor- recting the reference of the latter to its mance. The reported performance ex- sibling (interior) node, we extend the periments [Ohsawa and Sakauchi 1990] subspace of the sibling. All affected en- compare only storage utilization and in- tries are reinserted. sertion performance with the R-tree. According to the results reported in The most important comparison, that of Ooi [1990] and Ooi et al. [1991], the search performance, is omitted. skd-tree is competitive with the R-tree Figure 35 depicts a GBD-tree for the both in storage utilization and search running example. The partitioning on efficiency. the left-hand side shows the minimum bounding boxes (dotted or dashed) and 5.2.6 The GBD-Tree [Ohsawa and the underlying intervals (Peano re- Sakauchi 1990]. The GBD-tree (gener- gions). alized BD-tree) is an extension of the Among the approaches similar to the BD-tree [Ohsawa and Sakauchi 1983] GBD-tree are an extension of the buddy that allows for secondary storage man- tree by Seeger [1991] and the extension agement and supports the management of the BANG file to handle extended of extended objects. The BD-tree is a spatial objects [Freeston 1989b]. binary tree, but the GBD-tree is a bal- anced multiway tree that stores spatial 5.2.7 PLOP-Hashing [Kriegel and objects as a hierarchy of minimum Seeger 1988; Seeger and Kriegel 1988]. bounding boxes. Each leaf node (bucket) Piecewise linear order-preserving (PLOP) stores the MBBs of those objects whose hashing [Seeger and Kriegel 1988] is a centroids are contained in the corre- variant of hashing that allows the stor- sponding bucket region. Each interior age of extended objects without trans- node stores the MBB of the (usually forming them into points. An earlier overlapping) MBBs of its descendants. version of this structure [Kriegel and The intervals are encoded using the Seeger 1988] was only able to handle same DZ-expressions as described in multidimensional point data. Section 3.2.3. PLOP-hashing partitions the universe The one advantage of the GBD-tree in a similar way to the grid file: ex- over the R-tree is that insertions and tended objects may span more than one deletions may be processed more effi- directory cell. Hyperplanes extend along ciently, due to the encoding scheme and the axes of the data space. For the orga- the placement by centroid. The latter nization of these hyperplanes, PLOP-

ACM Computing Surveys, Vol. 30, No. 2, June 1998 212 • V. Gaede and O. Gu¨ nther

Figure 35. GBD-tree. hashing uses d binary trees, where d is Analytical experiments indicate that the dimension of the universe. Each in- PLOP-hashing is superior to the R-tree terior node of such a binary tree corre- and Rϩ-tree for uniform data distribu- sponds to a (d Ϫ 1)-dimensional iso- tions [Seeger and Kriegel 1988]. oriented hyperplane. The leaf nodes represent d-dimensional subspaces forming slices of the universe. 5.3 Clipping Figure 36 depicts the binary trees for both axes together with the slices Clipping-based schemes do not allow formed by them. By using the index any overlaps between bucket regions; entries that are stored in the leaf nodes, they have to be mutually disjoint. A typical access method of this kind is the we can easily identify the data page for ϩ which we are looking. To do this effi- R -tree [Stonebraker et al. 1986; Sellis ciently, we have to keep the d binary et al. 1987], a variant of the R-tree that trees in main memory, similar to the allows no overlap between regions cor- scales of the grid file. For further responding to nodes at the same tree speedup, the leaf nodes of each binary level. As a result, point queries follow a tree are linked to each other. In Figure single path starting at the root, which 36 this is suggested by the arrows at- means efficient searches. tached to the leaves of the trees. To The main problems with clipping- handle extended objects, we enlarge the based approaches relate to the insertion storage representation of each slice by a and deletion of data objects. During in- lower and an upper bound. These sertion, any data object that spans more bounds indicate the minimum and the than one bucket region has to be subdi- maximum extension along the current vided along the partitioning hyper- dimension of all objects stored in the planes. Eventually, several bucket en- slice at hand. tries have to be created for the same Insertion is straightforward and simi- object. Each bucket stores either the lar to the grid file. To avoid ambiguities, geometric description of the complete PLOP-hashing uses the centroid of the object (object duplication) or the geo- object to determine the data bucket in metric description of the corresponding which to place the object. In the case of fragment with an object reference. In node splitting and deletion we have to any case, data about the object are dis- adjust the respective upper and lower persed among several data pages (span- bounds. It should be further noted that ning property). The resulting redun- PLOP-hashing can be easily modified so dancy [Orenstein 1989a,b; Gu¨ nther and that it supports clipping rather than Gaede 1997] may cause not only an overlapping regions. increase in the average search time, but

ACM Computing Surveys, Vol. 30, No. 2, June 1998 Multidimensional Access Methods • 213

Figure 36. PLOP-hashing. also an increase in the frequency of A final problem concerns the splitting bucket overflows. of buckets. There may be situations A second problem applies to clipping- where a bucket (and its corresponding based access methods that do not parti- region) has to be split but there is no tion the complete data space. In that splitting hyperplane that splits none (or case, the insertion of a new data object only a few) of the objects in that bucket. may lead to the enlargement of several The split may then trigger other splits, bucket regions. Whenever the object (or which may become problematic with in- a fragment thereof) is passed down to a creasing size of the database. The more bucket (or, in the case of a tree struc- objects are inserted, the higher the ture, an interior node) whose region probability of splits and the smaller the does not cover it, the region has to be average size of the bucket regions. New extended. In some cases, such an en- objects are therefore split into a larger largement is not possible without get- number of smaller fragments, which ting an overlap with other bucket re- may in the worst case once again lead to gions; this is sometimes called the a chain reaction. To alleviate these deadlock problem of clipping. Because problems, Gu¨ nther and Noltemeier overlap is not allowed, one has to com- [1991] suggest storing large objects pute a new region structure, which can (which are more likely to be split into a become very complicated. It may in par- large number of fragments) in special ticular cause further bucket overflows buckets called oversize shelves, instead and insertions, which can lead to a of inserting them into the structure. chain reaction and, in the worst case, a complete breakdown of the structure 5.3.1 The Extended k-d-Tree [Mat- [Gu¨ nther and Bilmes 1991]. Access suyama et al. 1984]. One of the earliest methods partitioning the complete data extensions of the adaptive k-d-tree that space do not suffer from this problem. could handle extended objects was the

ACM Computing Surveys, Vol. 30, No. 2, June 1998 214 • V. Gaede and O. Gu¨ nther

Figure 37. Extended k-d-tree.

extended k-d-tree. In contrast to the nodes pointing to that page as NIL.No skd-tree (Section 5.2.5), the extended merging of sibling nodes is performed. k-d-tree is based on clipping. Each inte- Figure 37 depicts an extended k-d- rior tree node corresponds to a (d Ϫ 1)- tree for the running example. Rectangle dimensional partitioning hyperplane, m7 has been clipped and inserted into represented by the dimension (e.g., x or two nodes. Most partitions contain one y) and the splitting coordinate (the dis- or two additional bounding hyperplanes criminator). A leaf node corresponds to (dotted lines) to provide a better local- a rectangular subspace and contains the ization of the objects in the correspond- address of the data page describing that ing subspace. subspace. Data pages may be referenced by multiple leaf nodes. 5.3.2 The Rϩ-Tree [Stonebraker et al. To insert an object, we start at the 1986; Sellis et al. 1987]. To overcome root of the k-d-tree. At each interior the problems associated with overlap- node, we test for intersection with the ping regions in the R-tree, Sellis et al. stored hyperplane. Depending on the lo- [1987] introduced an access method cation of the object relative to the hyper- called the Rϩ-tree. Unlike the R-tree, plane, we either move on to the corre- the Rϩ-tree uses clipping; that is, there sponding child node, or we clip the is no overlap between index intervals Id object by the hyperplane and follow at the same tree level. Objects that in- both branches. This procedure guaran- tersect more than one index interval tees that we insert the object in all have to be stored on several different overlapping bucket regions. If a data pages. As a result of this policy, point page cannot accommodate the addi- searches in Rϩ-trees correspond to sin- tional object, we split the page by a new gle-path tree traversals from the root to hyperplane. The splitting dimension is one of the leaves. They therefore tend to perpendicular to the dimension with the be faster than the corresponding R-tree greatest extension. After distributing operation. Range searches usually lead the entries of the data page among the to the traversal of multiple paths in two new pages, we insert the hyper- both structures. plane into the k-d-tree. Note that this When inserting a new object o,we may in turn cause some objects to be may have to follow multiple paths, de- split, which may lead to further page pending on the number of intersections overflows. To delete an object, we have of the MBB Id(o) with index intervals. to visit all subspaces intersecting the During the tree traversal, Id(o) may be d object and delete the stored object iden- split into n disjoint fragments Ii (o) ഫn d ϭ d tifier. If a data page is empty due to ( iϭ1 Ii (o) I (o)). Each fragment is ␯ deletion, we remove it and mark all leaf then placed in a different leaf node i.

ACM Computing Surveys, Vol. 30, No. 2, June 1998 Multidimensional Access Methods • 215

Figure 38. Rϩ-tree.

Provided that there is enough space, the 5.3.3 The Cell Tree [Gu¨ nther 1988]. insertion is straightforward. If the The main goal in the design of the cell bounding interval Id(o) overlaps space tree [Gu¨ nther 1988; 1989] was to facili- that has not yet been covered, we have tate searches on data objects of arbi- to enlarge the intervals corresponding trary shapes, that is, especially on data to one or more leaf nodes. Each of these objects that are not intervals them- enlargements may require considerable selves. The cell tree uses clipping to effort because overlaps must be avoided. manage large spatial databases that In some rare cases, it may not be possi- may contain polygons or higher-dimen- ble to increase the current intervals in sional polyhedra. It corresponds to a such a way that they cover the new decomposition of the universe into dis- object without some mutual overlap joint convex subspaces. The interior [Gu¨ nther 1988; Ooi 1990]. In case of nodes correspond to a hierarchy of such a deadlock, some data intervals nested polytopes and each leaf node cor- have to be split and reinserted into the responds to one of the subspaces (Figure tree. 39). Each tree node is stored on one disk If a leaf node overflows it has to be page. split. Node splittings work similarly to To avoid some of the disadvantages the case of the R-tree. An important resulting from clipping, the convex poly- difference, however, is that splits may hedra are restricted to be subspaces of a propagate not only up the tree, but also BSP (binary space partitioning). There- down the tree. The resulting forced split fore we can view the cell tree as a of the nodes below may lead to several combination of a BSP- and an Rϩ-tree, complications, including further frag- or as a BSP-tree mapped on paged sec- mentation of the data intervals; see, for ondary memory. In order to minimize example, the rectangles m5 and m8 in the number of disk accesses that occur Figure 38. during a search operation, the leaf For deletion, we first locate all the nodes of a cell tree contain all the infor- data nodes where fragments of the ob- mation required for answering a given ject are stored and remove them. If stor- search query; we load no pages other age utilization drops below a given than those containing relevant data. threshold, we try to merge the affected This is an important advantage of the node with its siblings or to reorganize cell tree over the R-tree and related the tree. This is not always possible, structures. which is the reason why the Rϩ-tree Before inserting a nonconvex object, cannot guarantee a minimum space uti- we decompose it into a number of con- lization. vex components whose union is the orig-

ACM Computing Surveys, Vol. 30, No. 2, June 1998 216 • V. Gaede and O. Gu¨ nther

Figure 39. Cell tree.

inal object. The components do not have objects may be inevitable. In Figure 39, to be mutually disjoint. All components we had to split r2 and insert the result- are assigned the same object identifier ing cells into two pages. and inserted into the cell tree one by As do all structures based on clipping, one. Due to clipping, we may have to the cell tree has to cope with the frag- subdivide each component into several mentation of space, which becomes in- cells during insertion, because it over- creasingly problematic as more objects laps more than one subspace. Each cell are inserted into the tree. After some is stored in one leaf node of the cell tree. time, most new objects will be split into If an insertion causes a disk page to fragments during insertion. To avoid overflow, we have to split the corre- the negative effects of this fragmenta- sponding subspace and cell tree node tion, Gu¨ nther and Noltemeier [1991] and distribute its descendants between proposed the concept of oversize shelves. the two resulting nodes. Each split may Oversize shelves are special disk pages propagate up the tree. attached to the interior nodes of the tree For point searches, we start at the that accommodate objects which would root of the tree. Using the underlying have been split into too many fragments BSP partitioning, we identify the sub- if they had been inserted regularly. The space that includes the search point and authors propose a dynamically adjust- continue the search in the correspond- ing threshold for choosing between plac- ing subtree. This step is repeated recur- ing a new object on an oversize shelf or sively until we reach a leaf node, where inserting it regularly. Performance re- we examine all cells to see whether they sults of Gu¨ nther and Gaede [1997] show contain the search point. The solution substantial improvements compared to consists of those objects that contain at the cell tree without oversize shelves. least one of the cells that qualify. A similar algorithm exists for range 5.4 Multiple Layers searches. A performance evaluation of the cell tree [Gu¨ nther and Bilmes 1991] The multiple layer technique can be re- shows that it is competitive with other garded as a variant of the overlapping popular spatial access methods. regions approach, because data regions Figure 39 shows our running example of different layers may overlap. How- with five partitioning hyperplanes, each ever, there are several important differ- of them stored in the interior nodes. ences. First, the layers are organized in Even though the partitioning by means a hierarchy. Second, each layer parti- of the BSP-tree offers more flexibility tions the complete universe in a differ- than rectilinear hyperplanes, clipping ent way. Third, data regions within a

ACM Computing Surveys, Vol. 30, No. 2, June 1998 Multidimensional Access Methods • 217 layer are disjoint; that is, they do not layers, called the filter tree.Asinthe overlap. Fourth, the data regions do not MX-CIF quadtree, each layer is the re- adapt to the spatial extensions of the sult of a regular subdivision of the uni- corresponding data objects. verse. A new object is assigned to a In order to get a better understanding unique layer, depending on the object’s of the multilayer technique, we discuss position and extension. Objects within how to insert an extended object. First, one layer are first sorted by the Hilbert we try to find the lowest layer in the code of their center, then packed into hierarchy whose hyperplanes do not data pages of a given size. Finally, the split the new object. If there is such a largest Hilbert code of each data page, layer, we insert the object into the cor- together with its reference, is inserted responding data page. If the insertion into a B-tree. causes no page to overflow, we are done. We continue with a detailed descrip- Otherwise, we must split the data re- tion of two dynamic SAMs based on gion by introducing a new hyperplane multiple layers. and distribute the entries accordingly. Objects intersecting the hyperplane 5.4.1 The Multilayer Grid File [Six have to be moved to a higher layer or an and Widmayer 1988]. Yet another vari- overflow page. As the database becomes ant of the grid file capable of handling populated, the data space of the lower extended objects is the multilayer grid layers becomes more and more frag- file (not to be confused with the multi- mented. As a result, large objects keep level grid file of Whang and Krish- accumulating on higher layers of the namurthy [1985]). The multilayer grid hierarchy or, even worse, it is no longer file consists of an ordered sequence of possible to insert objects without inter- grid layers. Each of these layers corre- secting existing hyperplanes. sponds to a separate grid file (with The multilayer approach seems to of- fer one advantage over the overlapping freely positionable splitting hyper- regions technique: a possibly higher se- planes) that covers the whole universe. lectivity during searching due to the A new object is inserted into the first restricted overlap of the different lay- grid file in the sequence that does not ers. However, there are also several dis- imply any clipping of the object. This is advantages: the multilayer approach an important difference from the twin suffers from fragmentation, which may grid file (see Section 4.1.4), where ob- render the technique inefficient for jects can be moved freely between the some data distributions; certain queries two layers. If one of the grid files is require the inspection of all existing extended by adding another splitting layers; it is not clear how to cluster hyperplane, those objects that would be objects that are spatially close to each split have to be moved to another layer. other but in different layers; and there Figure 40 illustrates a multilayer grid is some ambiguity about the layer in file with two layers for the running ex- which to place the object. ample. An early static multilayer access In the multilayer grid file, the size of method is the MX-CIF quadtree [Kedem the bucket regions typically increases 1982; Abel and Smith 1983; Samet within the sequence; that is, larger ob- 1990b]. This structure stores each ex- jects are more likely to find their final tended spatial object with the quadtree location in later layers. If a new object node whose associated quadrant pro- cannot be stored in any of the current vides the tightest fit without intersect- layers without clipping, a new layer has ing the object. Objects within a node are to be allocated. An alternative is to al- organized by means of binary trees. low clipping only for the last layer. Six Sevcik and Koudas [1996] later pro- and Widmayer claim that d ϩ 1 layers posed a similar SAM based on multiple are sufficient to store a set of d-dimen-

ACM Computing Surveys, Vol. 30, No. 2, June 1998 218 • V. Gaede and O. Gu¨ nther

Figure 40. Multilayer grid file. sional intervals without clipping if the overflow pages may be necessary in hyperplanes are cleverly chosen. some cases. For an exact match query, we can An interesting feature of the R-file is easily determine from the scales which its splitting algorithm. Rather than cut- grid file in the sequence is supposed to ting a bucket region into two halves, we hold the search interval. Other search retain the original bucket region and queries, in particular point and range create a new bucket for one of the two queries, are answered by traversing the halves of that original region. Data in- sequence of layers and performing a cor- tervals are then assigned to the new responding search on each grid file. The bucket if and only if they are completely performance results reported by Six and contained in the corresponding region. Widmayer [1988] suggest that the mul- The half is chosen in such a way that tilayer grid file is superior to the con- the distribution of data intervals be- ventional grid file, using clipping to tween the two resulting buckets is most handle extended objects. Possible disad- even. Once a region has been split, it vantages of the multilayer grid file in- may subsequently be split again, using clude low storage utilization and expen- the same algorithm. Since objects that sive directory maintenance. are located near the middle of the uni- 5.4.2 The R-File [Hutflesz et al. verse are likely to intersect the parti- 1990]. To overcome some of the prob- tioning hyperplanes, they are often as- lems of the multilayer grid file, Hutflesz signed to the cell region corresponding et al. [1990] proposed an alternative to the whole universe. Thus objects in structure for managing sets of rectan- that cell tend to cluster near the split- gles called the R-file; see Figure 41 for ting hyperplanes (cf. rectangle r5 in Fig- an example. In order to avoid the low ure 41). storage utilization of the multilayer grid To avoid searching dead space, the file, the R-file uses a single directory. R-file maintains minimum enclosing The universe is partitioned similarly to boxes of the stored objects, called search the BANG file: splitting hyperplanes regions. As shown by Hutflesz et al. cut the universe recursively into equal [1990], this feature, together with the parts, and z-ordering is used to encode z-encoding of the partitions, make the the resulting bucket regions. In contrast R-file competitive to the R-tree. One to the BANG file, however, there are no drawback of the R-file is the fact that it excisions. Bucket regions may overlap, partitions the entire space, whereas the and there is no clipping. Each data in- R-tree indexes only the part of the uni- terval is stored in the bucket with the verse that contains objects. For data smallest region that contains it entirely; distributions that are nonuniform, the

ACM Computing Surveys, Vol. 30, No. 2, June 1998 Multidimensional Access Methods • 219

Figure 41. R-file.

R-file therefore often performs poorly. tree performs better when there is less This disadvantage is something that the overlap between the data rectangles. R-file shares with the grid file. Wid- Kriegel et al. [1990] present an exten- mayer [1991] also notes that the R-file sive experimental study of access- is “algorithmically complicated.” method performance for a variety of point distributions. The study involves 6. COMPARATIVE STUDIES four point access methods: the hB-tree, the BANG file, the two-level grid file, In this section, we give a brief overview of theoretical and experimental results and the buddy tree. The authors decided on the comparison of different access not to include PLOP-hashing since its performance suffers considerably for methods. Unfortunately, the number of ϩ such evaluations, especially theoretical nonuniform data. The zkdB -tree of analyses, is rather limited. Orenstein and Merrett [1984] was also Greene [1989] compares the search not included since the authors consid- performance of the R-tree, the k-d-B- ered both the BANG file and the hB- tree, and the Rϩ-tree for 10,000 uni- tree as improvements of that strategy. formly distributed rectangles of varying Finally, Kriegel et al. did not include size. Query parameters include the size quantile hashing although they claim of the query rectangles and the page [Kriegel and Seeger 1987, 1989] that size. Greene’s study shows that the k-d- this structure is very efficient for non- B-tree can never really compete with uniform data. the two R-tree variants. On the other According to the benchmarks, the hand, there is not much difference be- buddy tree and, to some degree, the tween the Rϩ-tree and the R-tree, even BANG file outperform all other struc- though the former is significantly more tures. The reported results show in an difficult to code. As expected, the Rϩ- impressive way how the performance of

ACM Computing Surveys, Vol. 30, No. 2, June 1998 220 • V. Gaede and O. Gu¨ nther the access methods studied varies with buddy tree with clipping and the grid different data distributions and query file failed completely for certain distri- range sizes. For clustered data and a butions, since they produced unmanage- query range of size 10% of the size of ably large files. The transformation the universe, there is almost no perfor- technique supports fast insertions at mance difference between the buddy the expense of low storage utilization. tree and the BANG file. If the size of the The R*-tree, on the other hand, requires query range drops to only 0.1% of the fairly long insertion times but offers size of the universe; however, the buddy good storage utilization. For intersec- tree performs about twice as fast. tion and containment queries, the For extended objects, Kriegel et al. buddy tree combined with overlapping [1990] compared the R-tree and PLOP- regions is continuously superior to the hashing with the buddy tree and the buddy tree with transformation. The BANG file. The latter two techniques performance advantage of the overlap- were enhanced by the transformation ping regions technique decreases for technique to handle rectangles. Once larger query regions, even though the again, the buddy tree and the BANG file buddy tree with transformation never outperformed the other two access outperforms the buddy tree with over- methods for nearly all data distribu- lapping regions. When the data set con- tions. Note that the benchmarks mea- tains uniformly distributed rectangles sured only the number of page accesses of varying size, the buddy tree with but not the CPU time. clipping outperforms the other tech- Beckmann et al. [1990] compared the niques for intersection and enclosure R*-tree with several variants of the R- queries. For some queries the buddy tree for a variety of data distributions. tree with overlapping performs slightly Besides the performance of the different better than the R*-tree. structures for point, intersection, and Ooi [1990] compares a static and a enclosure queries for varying query re- dynamic variant of the skd-tree with gion sizes, they also compared spatial the packed R-tree described by Rousso- join performance. The R*-tree is the poulos and Leifker [1985]. For large clear winner for all data distributions page sizes, the skd-tree clearly outper- and queries, and it also has the best forms the R-tree in terms of page ac- storage utilization and insertion times. cesses per search operation. The space A comparison for point data confirms requirements of the skd-tree, however, these results. Similarly to previous per- are higher than those of the R-tree. formance measurements, only the num- Since the skd-tree stores the extended ber of disk accesses is measured. A re- objects by their centroids, containment lated study by Kamel and Faloutsos queries are answered more efficiently [1994] finds even better search results than by the R-tree. This behavior is for the Hilbert R-tree, whereas updates clearly reflected in the performance re- take about the same time as for the sults. A comparison with the extended R*-tree. The impact of global clustering k-d-tree, enhanced by overflow pages, on the search performance of the R*- suggests that the skd-tree is superior, tree was investigated by Brinkhoff and although the extended k-d-tree (which Kriegel [1994]. Kamel et al. [1996] use is based on clipping) performs rather Hilbert codes for bulk insertion into dy- well for uniformly distributed data. namic R*-trees. Gu¨ nther and Bilmes [1991] compare Seeger [1991] studied the relative the R-tree to two clipping-based access performance of clipping, overlapping re- methods, the cell tree and the Rϩ-tree. gions, and transformation techniques Unlike most studies, the data sets con- implemented on top of the buddy tree. sist of convex polygons instead of just He also included the two-level grid file rectangles. The cell tree requires up to and the R*-tree in the comparison. The twice as much space as its competitors.

ACM Computing Surveys, Vol. 30, No. 2, June 1998 Multidimensional Access Methods • 221

However, the average number of page some slight performance benefits. Al- accesses per search operation is less though the R*-tree is more compact than for the other two access methods. than the other structures, its search Moreover, this advantage tends to in- performance is not as good as that of crease with the size of the database and the Rϩ-tree for line segments. Unfortu- the size of the query regions. Besides nately, Hoel and Samet do not report measurements on the number of page the overall performance times for the faults, CPU time measurements are different queries. also given. Peloux et al. [1994] carried out a sim- Gu¨ nther and Gaede [1997] compare ilar performance comparison of two the original cell tree as presented by quadtree variants, a variant of the Rϩ- Gu¨ nther [1989] with the cell tree with tree, and the R*-tree. What makes their oversize shelves [Gu¨ nther and Nolte- study different is that all structures meier 1991], the R*-tree [Beckmann et have been implemented on top of a com- al. 1990], and the hB-tree [Lomet and mercial object-oriented system using Salzberg 1989] for some real carto- the application programmer interface. A graphic data. There is a slight perfor- further difference to Hoel and Samet mance advantage of the cell tree with [1992] is that Peloux et al. used poly- oversize shelves compared to the R*- gons rather than line segments as test tree and the hB-tree, but a major differ- data. Furthermore, they report the var- ence from the original cell tree. An ear- ious times for index traversal, loading lier comparison using artificially polygons, and the like. Besides showing generated data can be found in Gu¨ nther that the Rϩ-tree and a quadtree variant [1991]. Both studies suggest that over- based on Hierarchical EXCELL [Tam- size shelves may lead to significant im- minen 1983] outperform the R*-tree for provements for access methods with point queries, they clearly demonstrate clipping. that the database system must provide Oosterom [1990] compares the query some means for physical clustering. times of his KD2B-tree and the sphere Otherwise, reading a single index page tree with the R-tree for different que- may induce several page faults. ries. The KD2B-tree is a paged version Smith and Gao [1990] compare the of the KD2-tree, which in turn is a performance of a variant of the zkdBϩ- variant of the BSP-tree. The two struc- tree, the grid file, the R-tree, and the tures differ in two aspects: each interior Rϩ-tree for insertions, deletions, and node stores two iso-oriented lines to al- search operations. They also measured low for overlap and gaps, and the corre- storage utilization. The conclusion of sponding partition lines do not clip; that their experiments is that z-ordering and is, an object is handled as a unit. The the grid file perform well for insertions KD2B-tree outperforms the R-tree for and deletions but deliver poor search all queries, whereas the sphere tree is performance. R- and Rϩ-trees, in con- inferior to the R-tree. trast, offer moderate insertion and dele- Hoel and Samet [1992] compare the tion performance but superior search performance of the PMR-quadtree [Nel- performance. Although the Rϩ-tree per- son and Samet 1987], the R*-tree, and forms slightly better than the R-tree for the Rϩ-tree for indexing line segments. search operations, the authors conclude The Rϩ-tree shows the best insertion that the Rϩ-tree is not a good choice for performance, whereas the R*-tree occu- general-purpose applications, due to its pies the least space. However, the inser- potentially poor space utilization. tion behavior of the Rϩ-tree heavily de- Hutflesz et al. [1990] showed that the pends on the page size, unlike the PMR- R-file has a 10 to 20% performance ad- quadtree. The performance of all vantage over the R-tree on a data set structures compared is about the same, containing 48,000 rectangles with a even though the PMR-quadtree shows high degree of overlap (each point in the

ACM Computing Surveys, Vol. 30, No. 2, June 1998 222 • V. Gaede and O. Gu¨ nther database was covered by 5.78 rectangles It cannot be emphasized enough, how- on the average). ever, that any such ranking needs to be Further experimental studies on the used with great care. Clever program- R-tree and related structures can be ming can often make up for inherent found in Frank and Barrera [1989], Ka- deficiencies of an access method and mel and Faloutsos [1992], and Kolovson vice versa. Other factors of unpredict- and Stonebraker [1991]. able impact include the hardware used, Since the splitting of data buckets is the buffer size/page size, and the data an important operation in many struc- sets. Note also that our list does not tures, Henrich and Six [1991] studied take into account access methods for several split strategies. Their theoreti- which no comparative analyses have cal analysis is verified by means of the been published. LSD-tree. They also provide some per- As the preceding discussion shows, formance results for the R-tree that although numerous experimental stud- uses their splitting strategy in compari- ies exist, they are hardly comparable. son to the otherwise unchanged R-tree. Theoretical studies may bring some An empirical performance comparison more objectivity to this discussion. The of the R-tree with an improved variant problem with such studies is that they of z-hashing, called layered z-hashing or are usually very hard to perform if one lz-hashing [Hutflesz et al. 1988a], can wants to stick to realistic modeling as- be found in Hutflesz et al. [1991]. The sumptions. For that reason there are proposed structure needs significantly only a few theoretical results on the less seek operations than the R-tree; comparison of multidimensional access average storage utilization is higher. methods. Jagadish [1990a] studies the proper- Regnier [1985] and Becker [1992] in- ties of different space-filling curves (z- vestigated the grid file and some of its ordering, Gray-coding, and Hilbert- variants. The most complete theoretical curve). By means of theoretical analysis of range trees can be found in considerations as well as by experimen- Overmars et al. [1990] and Smid and tal tests, he concludes that the Hilbert Overmars [1990]. Gu¨ nther and Gaede mapping from multidimensional space [1997] present a theoretical analysis of to a line is superior to other space- the cell tree. Recent analyses show that filling curves. These results are in ac- the theory of fractals seems to be partic- cordance with those of Abel and Mark ularly suitable for modeling the behav- [1990]. ior of SAMs if the data distribution is When trying to summarize all those nonuniform.3 experimental comparisons, the follow- Some more analytical work exists on ing multidimensional access methods the R-tree and related methods. A com- seem to be among the best-performing parison of the R-tree and the Rϩ-tree ones (in alphabetical order): has been published by Faloutsos et al. [1987]. Recently, Pagel et al. [1993a] —buddy (hash) tree [Seeger and Kriegel presented an interesting probabilistic 1990], model of window query performance for —cell tree with oversize shelves the comparison of different access meth- [Gu¨ nther and Gaede 1997], ods independent of implementation de- —Hilbert R-tree [Kamel and Faloutsos tails. Among other things, their model 1994], reveals the importance of the perimeter as a criterion for node splitting, which —KD2B-tree [Oosterom 1990], has been intuitively anticipated by the —PMR-quadtree [Nelson and Samet 1987], ϩ 3 See Faloutsos and Kamel [1994], Belussi and —R -tree [Sellis et al. 1987], and Faloutsos [1995], Faloutsos and Gaede [1996], and —R*-tree [Beckmann et al. 1990] Papadopoulos and Manolopoulos [1997].

ACM Computing Surveys, Vol. 30, No. 2, June 1998 Multidimensional Access Methods • 223 inventors of the R*-tree [Beckmann et access methods. Even for experts it be- al. 1990]. The central formula of Pagel comes more and more difficult to recog- et al. [1993] to compute the number of nize their merits and weaknesses, since disk accesses in an R-tree has been every new method seems to claim supe- found independently by Kamel and Fa- riority to at least one access method loutsos [1993]. Faloutsos and Kamel previously published. This survey did [1994] later refined this formula by us- not try to resolve this problem but ing properties of the data set. More rather to give an overview of the pros recently, Theodoridis and Sellis [1996] and cons of a variety of structures. It proposed a theoretical model to deter- will come as no surprise to the reader mine the number of disk accesses in an that at present no access method has R-tree that requires only two parame- proven itself superior to all its competi- ters: the amount of data and the density tors in whatever sense. Even if one in the data space. Their model also ex- benchmark declares one structure as tends to nonuniform distributions. the clear winner, another benchmark In pursuit of an implementation-inde- may prove the same structure inferior. pendent comparison criterion for access But why are such comparisons so dif- methods, Pagel et al. [1995] suggest us- ficult? Because there are so many differ- ing the degree of clustering. As a lower ent criteria to define optimality, and so bound they assume the optimal cluster- many parameters that determine per- ing of the static situation, that is, if the formance. Both time and space effi- complete data set has been exposed be- ciency of an access method strongly de- forehand. Incidentally, the significance pend on the data processed and the of clustering for access methods has queries asked. An access method that been demonstrated in numerous empir- performs reasonably well for iso-ori- ical investigations as well.4 ented rectangles may fail for arbitrarily In the area of constraint database oriented lines. Strongly correlated data systems (see Gaede and Wallace [1997] may render an otherwise fast access for a recent survey) a number of inter- method irrelevant for any practical ap- esting papers related to multidimen- plication. An index that has been opti- sional access methods have been pub- mized for point queries may be highly lished. Kanellakis et al. [1993], for inefficient for arbitrary region queries. example, presented a semidynamic struc- Large numbers of insertions and dele- ture that guarantees certain worst-case tions may deteriorate a structure that is bounds for space, search, and insertion. efficient in a more static environment. Subramanian and Ramaswamy [1995] The initiative of Kriegel et al. [1990] and Hellerstein et al. [1997] comple- to set up a standardized testbed for ment this work by proving some impor- benchmarking and comparing access tant lower and upper bounds. Sexton methods under different conditions was [1997] and Stuckey [1997] look at index- an important step in the right direction. ing from a language point of view. Their The world wide web provides a conve- work can be regarded as a generaliza- nient infrastructure to access and dis- tion of work by Hellerstein et al. [1995], tribute such benchmarks [Gu¨ nther et who proposed a generic framework for al. 1988]. Nevertheless, it remains far modeling hierarchical access methods. from easy to compare or rank different access methods. Experimental bench- 7. CONCLUSIONS marks need to be studied with care and can only be a first indicator for usabil- Research in spatial database systems ity. has resulted in a multitude of spatial When it comes to technology transfer, 4 See Jagadish [1990a], Kamel and Faloutsos that is, to the use of access methods in [1993], Brinkhoff and Kriegel [1994], Kumar commercial products, most vendors re- [1994b], and Ng and Han [1994]. sort to structures that are easy to un-

ACM Computing Surveys, Vol. 30, No. 2, June 1998 224 • V. Gaede and O. Gu¨ nther derstand and implement. Quadtrees in thank the referees for their detailed and insight- SICAD [Siemens Nixdorf Informations- ful comments. systeme AG 1997] and Smallworld GIS [Newell and Doe 1997], R-trees in Infor- REFERENCES mix [Informix Inc. 1997], and Z-ordering ABEL,D.J.AND MARK, D. M. 1990. A compara- in Oracle [Oracle Inc. 1995] are typical tive analysis of some two-dimensional order- examples. Performance seems to be of ings. Int. J. Geograph. Inf. Syst. 4, 1, 21–31. minor importance in the selection, ABEL,D.J.AND SMITH, J. L. 1983. A data struc- which comes as no surprise given the ture and algorithm based on a linear key for a relatively small differences among rectangle retrieval problem. Comput. Vis. 24, 1–13. methods in virtually all published anal- ANG,C.AND TAN, T. 1997. New linear node yses. Rather, the tendency is to take a splitting algorithm for R-trees. In Advances in structure that is simple and robust and Spatial Databases, M. Scholl and A. Voisard, to optimize its performance by a highly Eds., LNCS, Springer-Verlag, Berlin/Heidel- tuned implementation and tight inte- berg/New York. gration with other system components. AREF,W.G.AND SAMET, H. 1994. The spatial filter revisited. In Proceedings of the Sixth Nevertheless, the implementation International Symposium on Spatial Data and experimental evaluation of access Handling, 190–208. methods is essential as it often reveals BAYER, R. 1996. The universal B-tree for multi- deficiencies and problems that are not dimensional indexing. Tech. Rep. I9639, obvious from the design or a theoretical Technische Universita¨t Mu¨ nchen, Munich, Germany. http://www.leo.org/pub/comp/doc/ model. In order to make such compara- techreports/tum/informatik/report/1996/TUM- tive evaluations both easier to perform I9639.ps.gz. and easier to verify, it is essential to BAYER,R.AND MCCREIGHT, E. M. 1972. Organi- provide platform-independent access to zation and maintenance of large ordered indi- the implementations of a broad variety ces. Acta Inf. 1, 3, 173–189. BAYER,R.AND SCHKOLNICK, M. 1977. Concur- of access methods. Some extensions of rency of operations on B-trees. Acta Inf. 9, the World Wide Web, including our own 1–21. MMM project [Gu¨ nther et al. 1997], BECKER, B., FRANCIOSA, P., GSCHWIND, S., OHLER, may provide the right technological T., THIEM, F., AND WIDMAYER, P. 1992. En- base for such a paradigm change. Once closing many boxes by an optimal pair of boxes. In Proceedings of STACS’92, A. Finkel every published paper includes a URL and M. Jantzen, Eds., LNCS 525, Springer- (uniform resource locator), that is, an Verlag, Berlin/Heidelberg/New York, 475–486. Internet address that points to an im- BECKER, L. 1992. A new algorithm and a cost plementation, possibly with a standard- model for join processing with the grid file. ized user interface, transparency will Ph.D. thesis, Universita¨t-Gesamthochschule increase substantially. Until then, most Siegen, Germany. BECKMANN, N., KRIEGEL, H.-P., SCHNEIDER, R., AND users will have to rely on general wis- SEEGER, B. 1990. The R*-tree: An efficient dom and their own experiments to se- and robust access method for points and rect- lect an access method that provides the angles. In Proceedings of ACM SIGMOD In- best fit for their current application. ternational Conference on Management of Data, 322–331. BELUSSI,A.AND FALOUTSOS, C. 1995. Esti- ACKNOWLEDGMENTS mating the selectivity of spatial queries using the ‘correlation’ fractal dimension. In Proceed- While working on this survey, we had the plea- ings of the 21st International Conference on sure of discussions with many colleagues. Special Very Large Data Bases, 299–310. thanks go to D. Abel, A. Buchmann, C. Faloutsos, BENTLEY, J. L. 1975. Multidimensional binary A. Frank, M. Freeston, J. C. Freytag, J. Heller- search trees used for associative searching. stein, C. Kolovson, H.-P. Kriegel, J. Nievergelt, J. Commun. ACM 18, 9, 509–517. Orenstein, P. Picouet, W.-F. Riekert, D. Rotem, BENTLEY, J. L. 1979. Multidimensional binary J.-M. Saglio, B. Salzberg, H. Samet, M. Schiwietz, search in database applications. IEEE Trans. R. Schneider, M. Scholl, B. Seeger, T. Sellis, A. P. Softw. Eng. 4, 5, 333–340. Sexton, and P. Widmayer. We would also like to BENTLEY,J.L.AND FRIEDMAN, J. H. 1979. Data

ACM Computing Surveys, Vol. 30, No. 2, June 1998 Multidimensional Access Methods • 225

structures for range searching. ACM Comput. DANDAMUDI,S.P.AND SORENSON, P. G. 1991. Surv. 11, 4, 397–409. Improved partial-match search algorithms for BERCHTOLD, S., KEIM, D., AND KRIEGEL, H.-P. BD-trees. Comput. J. 34, 5, 415–422. 1996. The X-tree: An index structure for EGENHOFER, M. 1989. Spatial query languages. high-dimensional data. In Proceedings of the Ph.D. Thesis, University of Maine, Orono, 22nd International Conference on Very Large ME. Data Bases, (Bombay) 28–39. EGENHOFER, M. 1994. Spatial SQL: A query and BLANKEN, H., IJBEMA, A., MEEK, P., AND VAN DEN presentation language. IEEE Trans. Knowl. AKKER, B. 1990. The generalized grid file: Data Eng. 6, 1, 86–95. ⌸ Description and performance aspects. In Pro- EVANGELIDIS, G. 1994. The hB -tree: A concur- ceedings of the Sixth IEEE International Con- rent and recoverable multi-attribute index ference on Data Engineering, 380–388. structure. Ph.D. Thesis, Northeastern Univer- BRINKHOFF, T. 1994. Der spatial join in geo- sity, Boston, MA. datenbanksystemen. Ph.D. Thesis, Ludwig- EVANGELIDIS, G., LOMET, D., AND SALZBERG,B. Maximilians-Universita¨t Mu¨ nchen. Germany 1995. The hB⌸-tree: A modified hB-tree sup- (in German). porting concurrency, recovery and node con- BRINKHOFF,T.AND KRIEGEL, H.-P. 1994. The solidation. In Proceedings of the 21st Interna- impact of global clustering on spatial data- tional Conference on Very Large Data Bases, base systems. In Proceedings of the Twentieth 551–561. International Conference on Very Large Data FAGIN, R., NIEVERGELT, J., PIPPENGER, N., AND Bases, 168–179. STRONG, R. 1979. Extendible hashing: A BRINKHOFF, T., KRIEGEL, H.-P., AND SCHNEIDER,R. fast access method for dynamic files. ACM 1993a. Comparison of approximations of Trans. Database Syst. 4, 3, 315–344. complex objects used for approximation-based FALOUTSOS, C. 1986. Multiattribute hashing us- query processing in spatial database systems. ing Gray-codes. In Proceedings of the ACM In Proceedings of the Ninth IEEE Interna- SIGMOD International Conference on Man- tional Conference on Data Engineering,40– agement of Data, 227–238. 49. FALOUTSOS, C. 1988. Gray-codes for partial BRINKHOFF, T., KRIEGEL, H.-P., AND SEEGER,B. match and range queries. IEEE Trans. Softw. 1993b. Efficient processing of spatial joins Eng. 14, 1381–1393. using R-trees. In Proceedings of ACM SIG- FALOUTSOS,C.AND GAEDE, V. 1996. Analysis of MOD International Conference on Manage- n-dimensional quadtrees using the Hausdorff ment of Data, 237–246. fractal dimension. In Proceedings of the 22nd BRINKHOFF, T., KRIEGEL, H.-P., SCHNEIDER, R., AND International Conference on Very Large Data SEEGER, B. 1994. Multi-step processing of Bases, (Bombay), 40–50. spatial joins. In Proceedings of the ACM SIG- FALOUTSOS,C.AND KAMEL, I. 1994. Beyond uni- MOD International Conference on Manage- formity and independence: Analysis of R-trees ment of Data, 197–208. using the concept of fractal dimension. In BRODSKY, A., LASSEZ, C., LASSEZ, J.-L., AND MAHER, Proceedings of the Thirteenth ACM SIGACT– M. J. 1995. Separability of polyhedra for SIGMOD–SIGART Symposium on Principles optimal filtering of spatial and constraint of Database Systems, 4–13. data. In Proceedings of the Fourteenth ACM FALOUTSOS,C.AND RONG, Y. 1991. DOT: A spa- SIGACT–SIGMOD–SIGART Symposium on tial access method using fractals. In Proceed- Principles of Database Systems (San Jose, ings of the Seventh IEEE International Con- CA), 54–64. ference on Data Engineering, 152–159. BURKHARD, W. 1984. Index maintenance for FALOUTSOS,C.AND ROSEMAN, S. 1989. Fractals non-uniform record distributions. In Proceed- for secondary key retrieval. In Proceedings of ings of the Third ACM SIGACT–SIGMOD the Eighth ACM SIGACT–SIGMOD–SIGART Symposium on Principles of Database Sys- Symposium on Principles of Database Sys- tems, 173–180. tems, 247–252. BURKHARD, W. A. 1983. Interpolation-based in- FALOUTSOS, C., SELLIS, T., AND ROUSSOPOULOS, dex maintenance. BIT 23, 274–294. N. 1987. Analysis of object-oriented spatial CHEN, L., DRACH, R., KEATING, M., LOUIS, S., access methods. In Proceedings of the ACM ROTEM, D., AND SHOSHANI, A. 1995. Access SIGMOD International Conference on Man- to multidimensional datasets on tertiary stor- agement of Data, 426–439. age systems. Inf. Syst. 20, 2, 155–183. FINKEL,R.AND BENTLEY, J. L. 1974. Quad COMER, D. 1979. The ubiquitous B-tree. ACM trees: A data structure for retrieval of com- Comput. Surv. 11, 2, 121–138. posite keys. Acta Inf. 4, 1, 1–9. DANDAMUDI,S.P.AND SORENSON, P. G. 1986. FLAJOLET, P. 1983. On the performance evalua- Algorithms for BD-trees. Softw. Pract. Exper. tion of extendible hashing and trie searching. 16, 2, 1077–1096. Acta Inf. 20, 345–369.

ACM Computing Surveys, Vol. 30, No. 2, June 1998 226 • V. Gaede and O. Gu¨ nther

FRANK,A.AND BARRERA, R. 1989. The fieldtree: V. Gaede, A. Brodsky, O. Gu¨ nther, D. Srivas- A data structure for geographic information tava, V. Vianu, and M. Wallace, Eds., LNCS systems. In Design and Implementation of 1191, Springer-Verlag, Berlin/Heidelberg/ Large Spatial Database Systems, A. Buch- New York, 7–52. mann, O. Gu¨ nther, T. R. Smith, and Y.-F. GARG,A.K.AND GOTLIEB, C. C. 1986. Order- Wang, Eds., LNCS 409, Springer-Verlag, Ber- preserving key transformation. ACM Trans. lin/Heidelberg/New York, 29–44. Database Syst. 11, 2, 213–234. FREESTON, M. 1987. The BANG file: A new kind GREENE, D. 1989. An implementation and per- of grid file. In Proceedings of the ACM SIG- formance analysis of spatial data access MOD International Conference on Manage- methods. In Proceedings of the Fifth IEEE ment of Data,, 260–269. International Conference on Data Engineer- FREESTON, M. 1989a. Advances in the design of ing, 606–615. the BANG file. In Proceedings of the Third GU¨ NTHER, O. 1988. Efficient Structures for Geo- International Conference on Foundations of metric Data Management. LNCS 337, Spring- Data Organization and Algorithms, LNCS er-Verlag, Berlin/Heidelberg/New York. 367, Springer-Verlag, Berlin/Heidelberg/New GU¨ NTHER, O. 1989. The cell tree: An object-ori- York, 322–338. ented index structure for geometric data- FREESTON, M. 1989b. A well-behaved structure bases. In Proceedings of the Fifth IEEE Inter- for the storage of geometric objects. In Design national Conference on Data Engineering, and Implementation of Large Spatial Data- 598–605. base Systems, A. Buchmann, O. Gu¨ nther, ¨ T. R. Smith, and Y.-F. Wang, Eds., LNCS 409, GUNTHER, O. 1991. Evaluation of spatial access Springer-Verlag, Berlin/Heidelberg/New York, methods with oversize shelves. In Geographic 287–300. Database Management Systems, G. Gambosi, M. Scholl, and H.-W. Six, Eds., Springer-Ver- FREESTON, M. 1995. A general solution of the lag, Berlin/Heidelberg/New York, 177–193. n-dimensional B-tree problem. In Proceedings ¨ of the ACM SIGMOD International Confer- GUNTHER, O. 1993. Efficient computation of ence on Management of Data, 80–91. spatial joins. In Proceedings of the Ninth IEEE International Conference on Data Engi- FREESTON, M. 1997. On the complexity of BV- neering, 50–59. tree updates. In Proceedings of CDB’97 and ¨ CP’96 Workshop on Constraint Databases and GUNTHER,O.AND BILMES, J. 1991. Tree-based their Application, V. Gaede, A. Brodsky, O. access methods for spatial databases: Imple- Gu¨ nther, D. Srivastava, V. Vianu, and M. mentation and performance evaluation. IEEE Wallace, Eds., LNCS 1191, Springer-Verlag, Trans. Knowl. Data Eng. 3, 3, 342–356. Berlin/Heidelberg/New York, 282–293. GU¨ NTHER,O.AND BUCHMANN, A. 1990. Research issues in spatial databases. SIGMOD Rec. 19, FUCHS, H., ABRAM,G.D.,AND GRANT,E.D. 1983. Near real-time shaded display of rigid 4, 61–68. objects. Computer Graph. 17, 3, 65–72. GU¨ NTHER,O.AND GAEDE, V. 1997. Oversize FUCHS, H., KEDEM, Z., AND NAYLOR, B. 1980. On shelves: A storage management technique for visible surface generation by a priori tree large spatial data objects. Int. J. Geog. Inf. structures. Computer Graph. 14, 3. Syst. 11, 1, 5–32. ¨ GAEDE, V. 1995a. Geometric information makes GUNTHER,O.AND NOLTEMEIER, H. 1991. Spatial spatial query processing more efficient. In database indices for large extended objects. In Proceedings of the Third ACM International Proceedings of the Seventh IEEE Interna- Workshop on Advances in Geographic Infor- tional Conference on Data Engineering, 520– mation Systems (ACM-GIS’95) (Baltimore, 526. MD) 45–52. GU¨ NTHER, O., MU¨ LLER, R., SCHMIDT, P., BHARGAVA, GAEDE, V. 1995b. Optimal redundancy in spa- H., AND KRISHNAN, R. 1997. MMM: A tial database systems. In Advances in Spatial WWW-based approach for sharing statistical Databases, M. J. Egenhofer and J. R. Herring, software modules. IEEE Internet Comput. 1, 3. Eds., LNCS 951, Springer-Verlag, Berlin/Hei- GU¨ NTHER, O., ORIA, V., PICOUET, P., SAGLIO, J.-M., delberg/New York, 96–116. AND SCHOLL, M. 1998. Benchmarking spa- GAEDE,V.AND RIEKERT, W.-F. 1994. Spatial ac- tial joins a` la carte. In Proceedings of the 10th cess methods and query processing in the International Conference on Scientific and object-oriented GIS GODOT. In Proceedings Statistical Database Management. IEEE, New of the AGDM’94 Workshop (Delft, The Nether- York. lands), Netherlands Geodetic Commission, GU¨ TING, R. H. 1989. Gral: An extendible rela- 40–52. tional database system for geometric applica- GAEDE,V.AND WALLACE, M. 1997. An informal tions. In Proceedings of the Fifteenth Interna- introduction to constraint databases. In Pro- tional Conference on Very Large Data Bases, ceedings of CDB’97 and CP’96 Workshop on 33–44. Constraint Databases and their Application, GU¨ TING,R.H.AND SCHNEIDER, M. 1993.

ACM Computing Surveys, Vol. 30, No. 2, June 1998 Multidimensional Access Methods • 227

Realms: A foundation for spatial data types in 1988b. Twin grid files: Space optimizing ac- database systems. In Advances in Spatial Da- cess schemes. In Proceedings of the ACM SIG- tabases, D. Abel and B. C. Ooi, Eds., LNCS MOD International Conference on Manage- 692, Springer-Verlag, Berlin/Heidelberg/New ment of Data, 183–190. York. HUTFLESZ, A., SIX, H.-W., AND WIDMAYER,P. GUTTMAN, A. 1984. R-trees: A dynamic index 1990. The R-file: An efficient access struc- structure for spatial searching. In Proceedings ture for proximity queries. In Proceedings of of the ACM SIGMOD International Confer- the Sixth IEEE International Conference on ence on Management of Data, 47–54. Data Engineering, 372–379. HELLERSTEIN,J.M.,KOUTSOUPIAS, E., AND PAPAD- HUTFLESZ, A., WIDMAYER, P., AND ZIMMERMANN,C. IMITRIOU, C. H. 1997. Towards a theory of 1991. Global order makes spatial access indexability. In Proceedings of the Sixteenth faster. In Geographic Database Management ACM SIGACT–SIGMOD–SIGART Sympo- Systems, G. Gambosi, M. Scholl, and H.-W. sium on Principles of Database Systems. Six, Eds., Springer-Verlag, Berlin/Heidelberg/ HELLERSTEIN,J.M.,NAUGHTON,J.F.,AND PFEF- New York, 161–176. FER, A. 1995. Generalized search trees for INFORMIX INC. 1997. The DataBlade architec- database systems. In Proceedings of the 21st ture. URL http://www.informix.com. International Conference on Very Large Data JAGADISH, H. V. 1990a. Linear clustering of ob- Bases, 562–573. jects with multiple attributes. In Proceedings HENRICH, A. 1995. Adapting the transformation of the ACM SIGMOD International Confer- technique to maintain multidimensional non- ence on Management of Data, 332–342. point objects in k-d-tree based access struc- JAGADISH, H. V. 1990b. On indexing line seg- tures. In Proceedings of the Third ACM Interna- ments. In Proceedings of the Sixteenth Inter- tional Workshop on Advances in Geographic national Conference on Very Large Data Information Systems (ACM-GIS’95) (Balti- Bases, 614–625. more, MD) ACM Press, New York. JAGADISH, H. V. 1990c. Spatial search with HENRICH,A.AND MO¨ LLER, J. 1995. Extending a polyhedra. In Proceedings of the Sixth IEEE spatial access structure to support additional International Conference on Data Engineer- standard attributes. In Advances in Spatial ing, 311–319. Databases, M. J. Egenhofer and J. R. Herring, Eds., LNCS 951, Springer-Verlag, Berlin/Hei- KAMEL,I.AND FALOUTSOS, C. 1992. Parallel R- delberg/New York, 132–151. trees. In Proceedings of the ACM SIGMOD International Conference on Management of HENRICH,A.AND SIX, H.-W. 1991. How to split Data, 195–204. buckets in spatial data structures. In Geo- graphic Database Management Systems,G. KAMEL,I.AND FALOUTSOS, C. 1993. On packing Gambosi, M. Scholl, and H.-W. Six, Eds., R-trees. In Proceedings of the Second Interna- Springer-Verlag, Berlin/Heidelberg/New York, tional Conference on Information and Knowl- 212–244. edge Management, 490–499. HENRICH, A., SIX, H.-W., AND WIDMAYER, KAMEL,I.AND FALOUTSOS, C. 1994. Hilbert R- P. 1989. The LSD tree: Spatial access to tree: An improved R-tree using fractals. In multidimensional point and non-point objects. Proceedings of the Twentieth International In Proceedings of the Fifteenth International Conference on Very Large Data Bases, 500– Conference on Very Large Data Bases, 45–53. 509. HINRICHS, K. 1985. Implementation of the grid KAMEL, I., KHALIL, M., AND KOURAMAJIAN,V. file: Design concepts and experience. BIT 25, 1996. Bulk insertion in dynamic R-trees. In 569–592. Proceedings of the Seventh International Sym- HOEL,E.G.AND SAMET, H. 1992. A qualitative posium on Spatial Data Handling (Delft, The comparison study of data structures for large Netherlands), 3B.31–3B.42. segment databases. In Proceedings of the KANELLAKIS,P.C.,RAMASWAMY, S., VENGROFF, ACM SIGMOD International Conference on D. E., AND VITTER, J. S. 1993. Indexing for Management of Data, 205–214. data models with constraints and classes. In HOEL,E.G.AND SAMET, H. 1995. Benchmark- Proceedings of the Twelfth ACM SIGACT– ing spatial join operations with spatial out- SIGMOD–SIGART Symposium on Principles put. In Proceedings of the 21st International of Database Systems, 233–243. Conference on Very Large Data Bases, 606– KEDEM, G. 1982. The quad-CIF tree: A data 618. structure for hierarchical on-line algorithms. HUTFLESZ, A., SIX, H.-W., AND WIDMAYER,P. In Proceedings of the Nineteenth Conference 1988a. Globally order preserving multidi- on Design and Automation, 352–357. mensional linear hashing. In Proceedings of KEMPER,A.AND WALLRATH, M. 1987. An analy- the Fourth IEEE International Conference on sis of geometric modeling in database sys- Data Engineering, 572–579. tems. ACM Comput. Surv. 19, 1, 47–91. HUTFLESZ, A., SIX, H.-W., AND WIDMAYER,P. KLINGER, A. 1971. Pattern and search statis-

ACM Computing Surveys, Vol. 30, No. 2, June 1998 228 • V. Gaede and O. Gu¨ nther

tics. In Optimizing Methods in Statistics,S. ence on Database and Expert Systems Appli- Rustagi, Ed., 303–337. cations (DEXA’94), D. Karagiannis, Ed., KNOTT, G. 1975. Hashing functions. Comput. J. LNCS 856, Springer-Verlag, Berlin/Heidel- 18, 3, 265–278. berg/New York, 57–70. KOLOVSON, C. 1990. Indexing techniques for LARSON, P. A. 1980. Linear hashing with par- multi-dimensional spatial data and historical tial expansions. In Proceedings of the Sixth data in database management systems. Ph.D. International Conference on Very Large Data Thesis, University of California at Berkeley. Bases, 224–232. KOLOVSON,C.AND STONEBRAKER, M. 1991. Seg- LEHMAN,P.AND YAO, S. 1981. Efficient locking ment indexes: Dynamic indexing techniques for concurrent operations on B-trees. ACM for multi-dimensional interval data. In Pro- Trans. Database Syst. 6, 4, 650–670. ceedings of the ACM SIGMOD International LIN, K.-I., JAGADISH, H., AND FALOUTSOS,C. Conference on Management of Data, 138–147. 1994. The TV-tree: An index structure for KRIEGEL, H.-P. 1984. Performance comparison high-dimensional data. VLDB J. 3, 4, 517– of index structures for multikey retrieval. In 543. Proceedings of the ACM SIGMOD Interna- LITWIN, W. 1980. Linear hashing: A new tool tional Conference on Management of Data, for file and table addressing. In Proceedings of 186–196. the Sixth International Conference on Very KRIEGEL, H.-P., HEEP, P., HEEP, S., SCHIWIETZ, M., Large Data Bases, 212–223. AND SCHNEIDER, R. 1991. An access method LO,M.AND RAVISHANKAR, C. 1994. Spatial joins based query processor for spatial database using seeded trees. In Proceedings of the ACM systems. In Geographic Database Manage- SIGMOD International Conference on Man- ment Systems, G. Gambosi, M. Scholl, and agement of Data, 209–220. H.-W. Six, Eds., Springer-Verlag, Berlin/Hei- LOMET, D. B. 1983. Boundex index exponential delberg/New York, 273–292. hashing. ACM Trans. Database Syst. 8, 1, KRIEGEL, H.-P., SCHIWIETZ, M., SCHNEIDER, R., AND 136–165. SEEGER, B. 1990. Performance comparison LOMET, D. B. 1991. Grow and post index trees: of point and spatial access methods. In Design Role, techniques and future potential. In Ad- and Implementation of Large Spatial Data- vances in Spatial Databases,O.Gu¨ nther and base Systems, A. Buchmann, O. Gu¨ nther, H. Schek, Eds., LNCS 525, Springer-Verlag, T. R. Smith, and Y.-F. Wang, Eds., LNCS 409, Berlin/Heidelberg/New York, 183–206. Springer-Verlag, Berlin/Heidelberg/New York, LOMET,D.B.AND SALZBERG, B. 1989. The hB- 89–114. tree: A robust multiattribute search struc- KRIEGEL, H.-P. AND SEEGER, B. 1986. Multi- ture. In Proceedings of the Fifth IEEE Inter- dimensional order preserving linear hashing national Conference on Data Engineering, with partial expansions. In Proceedings of the 296–304. International Conference on Database Theory, LOMET,D.B.AND SALZBERG, B. 1990. The hB- LNCS 243, Springer-Verlag, Berlin/Heidel- tree: A multiattribute indexing method with berg/New York. good guaranteed performance. ACM Trans. KRIEGEL, H.-P. AND SEEGER, B. 1987. Multi- Database Syst. 15, 4, 625–658. Reprinted in dimensional quantile hashing is very efficient Readings in Database Systems, M. Stone- for non-uniform record distributions. In Pro- braker, Ed., Morgan-Kaufmann, San Mateo, ceedings of the Third IEEE International Con- CA, 1994. ference on Data Engineering, 10–17. LOMET,D.B.AND SALZBERG, B. 1992. Access KRIEGEL, H.-P. AND SEEGER, B. 1988. PLOP- method concurrency with recovery. In Pro- hashing: A grid file without directory. In Pro- ceedings of the ACM SIGMOD International ceedings of the Fourth IEEE International Conference on Management of Data, 351–360. Conference on Data Engineering, 369–376. LU,H.AND OOI, B.-C. 1993. Spatial indexing: KRIEGEL, H.-P. AND SEEGER, B. 1989. Multi- Past and future. IEEE Data Eng. Bull. 16, 3, dimensional quantile hashing is very efficient 16–21. for non-uniform distributions. Inf. Sci. 48, MATSUYAMA, T., HAO,L.V.,AND NAGAO, M. 1984. 99–117. A file organization for geographic information KORNACKER,M.AND BANKS, D. 1995. High-con- systems based on spatial proximity. Int. currency locking in R-trees. In Proceedings of J. Comput. Vis. Graph. Image Process. 26, 3, the 21st International Conference on Very 303–318. Large Data Bases, 134–145. MORTON, G. 1966. A computer oriented geodetic KUMAR, A. 1994a. G-tree: A new data structure data base and a new technique in file se- for organizing multidimensional data. IEEE quencing. IBM Ltd. Trans. Knowl. Data Eng. 6, 2, 341–347. NELSON,R.AND SAMET, H. 1987. A population KUMAR, A. 1994b. A study of spatial clustering analysis for hierarchical data structures. In techniques. In Proceedings of the Fifth Confer- Proceedings of the ACM SIGMOD Interna-

ACM Computing Surveys, Vol. 30, No. 2, June 1998 Multidimensional Access Methods • 229

tional Conference on Management of Data, ings of the IEEE Computer Software and Ap- 270–277. plications Conference, 433–438. NEWELL,R.G.AND DOE, M. 1997. Discrete ge- OOI,B.C.,SACKS-DAVIS, R., AND MCDONELL, ometry with seamless topology in a GIS. URL K. J. 1991. Spatial indexing by binary de- http://www.smallworld-us.com. composition and spatial bounding. Inf. Syst. NG,R.T.AND HAN, J. 1994. Efficient and effec- J. 16, 2, 211–237. tive clustering methods for spatial data min- OOSTEROM, P. 1990. Reactive data structures ing. In Proceedings of the Twentieth Interna- for geographic information systems. Ph.D. tional Conference on Very Large Data Bases, Thesis, University of Leiden, The Nether- 144–154. lands. NG,V.AND KAMEDA, T. 1993. Concurrent ac- ORACLE INC. 1995. Oracle 7 multidimension: cesses to R-trees. In Advances in Spatial Da- Advances in relational database technology tabases, D. Abel and B. C. Ooi, Eds., LNCS for spatial data management. White paper. 692, Springer-Verlag, Berlin/Heidelberg/New ORENSTEIN, J. 1982. Multidimensional tries York, 142–161. used for associative searching. Inf. Process. NG,V.AND KAMEDA, T. 1994. The R-link tree: A Lett. 14, 4, 150–157. recoverable index structure for spatial data. ORENSTEIN, J. 1983. A dynamic file for random In Proceedings of the Fifth Conference on Da- and sequential accessing. In Proceedings of tabase and Expert Systems Applications the Ninth International Conference on Very (DEXA’94), D. Karagiannis, Ed., LNCS 856, Large Data Bases, 132–141. Springer-Verlag, Berlin/Heidelberg/New York, ORENSTEIN, J. 1989a. Redundancy in spatial 163–172. databases. In Proceedings of the ACM SIG- NIEVERGELT, J. 1989. 7Ϯ2 criteria for assessing MOD International Conference on Manage- and comparing spatial data structures. In De- ment of Data, 294–305. sign and Implementation of Large Spatial Da- ORENSTEIN, J. 1989b. Strategies for optimizing tabase Systems, A. Buchmann, O. Gu¨ nther, the use of redundancy in spatial databases. In T. R. Smith, and Y.-F. Wang, Eds., LNCS 409, Design and Implementation of Large Spatial Springer-Verlag, Berlin/Heidelberg/New York, Database Systems, A. Buchmann, O. Gu¨ nther, 3–27. T. R. Smith, and Y.-F. Wang, Eds., LNCS 409, NIEVERGELT,J.AND HINRICHS, K. 1987. Storage Springer-Verlag, Berlin/Heidelberg/New York, and access structures for geometric data 115–134. bases. In Proceedings of the International ORENSTEIN, J. 1990. A comparison of spatial Conference on Foundations of Data Organiza- query processing techniques for native and tion, S. Ghosh, Y. Kambayashi, and K. parameter space. In Proceedings of the ACM Tanaka, Eds., Plenum, New York. SIGMOD International Conference on Man- NIEVERGELT, J., HINTERBERGER, H., AND SEVCIK,K. agement of Data, 343–352. 1981. The grid file: An adaptable, symmetric ORENSTEIN,J.AND MERRETT, T. H. 1984. A class multikey file structure. In Proceedings of the of data structures for associative searching. Third ECI Conference, A. Duijvestijn and P. In Proceedings of the Third ACM SIGACT– Lockemann, Eds., LNCS 123, Springer-Ver- SIGMOD Symposium on Principles of Data- lag, Berlin/Heidelberg/New York, 236–251. base Systems, 181–190. NIEVERGELT, J., HINTERBERGER, H., AND SEVCIK, ORENSTEIN, J. A. 1986. Spatial query process- K. C. 1984. The grid file: An adaptable, ing in an object-oriented database system. In symmetric multikey file structure. ACM Proceedings of the ACM SIGMOD Interna- Trans. Database Syst. 9, 1, 38–71. tional Conference on Management of Data, OHSAWA,Y.AND SAKAUCHI, M. 1983. BD-tree: A 326–333. new n-dimensional data structure with effi- OTOO, E. J. 1984. A mapping function for the cient dynamic characteristics. In Proceedings directory of a multidimensional extendible of the Ninth World Computer Congress, IFIP hashing. In Proceedings of the Tenth Interna- 1983, 539–544. tional Conference on Very Large Data Bases, OHSAWA,Y.AND SAKAUCHI, M. 1990. A new tree 493–506. type data structure with homogeneous node OTOO, E. J. 1985. Symmetric dynamic index suitable for a very large spatial database. In maintenance scheme. In Proceedings of the Proceedings of the Sixth IEEE International International Conference on Foundations of Conference on Data Engineering, 296–303. Data Organization, Plenum, New York, 283– OOI, B. C. 1990. Efficient Query Processing in 296. Geographic Information Systems. LNCS 471, OTOO, E. J. 1986. Balanced multidimensional Springer-Verlag, Berlin/Heidelberg/New York. extendible hash tree. In Proceedings of the OOI,B.C.,MCDONELL,K.J.,AND SACKS-DAVIS, Fifth ACM SIGACT–SIGMOD Symposium on R. 1987. Spatial kd-tree: An indexing Principles of Database Systems, 100–113. mechanism for spatial databases. In Proceed- OUKSEL, M. 1985. The interpolation based grid

ACM Computing Surveys, Vol. 30, No. 2, June 1998 230 • V. Gaede and O. Gu¨ nther

file. In Proceedings of the Fourth ACM SI- ceedings of the Seventh IEEE International GACT–SIGMOD Symposium on Principles of Conference on Data Engineering, 10–18. Database Systems, 20–27. ROUSSOPOULOS,N.AND LEIFKER, D. 1984. An in- OUKSEL,M.AND SCHEUERMANN, P. 1983. Stor- troduction to PSQL: A pictorial structured age mappings for multidimensional linear dy- query language. In Proceedings of the IEEE namic hashing. In Proceedings of the Second Workshop on Visual Languages. ACM SIGACT–SIGMOD Symposium on Prin- ROUSSOPOULOS,N.AND LEIFKER, D. 1985. Direct ciples of Database Systems, 90–105. spatial search on pictorial databases using OUKSEL,M.A.AND MAYER, O. 1992. A robust packed R-trees. In Proceedings of the ACM and efficient spatial data structure. Acta Inf. SIGMOD International Conference on Man- 29, 335–373. agement of Data, 17–31. OVERMARS,M.H.,SMID,M.H.,BERG, T., AND VAN SAGAN, H. 1994. Space-Filling Curves. Spring- KREVELD, M. J. 1990. Maintaining range er-Verlag, Berlin/Heidelberg/New York. trees in secondary memory: Part I: Partitions. SAMET, H. 1984. The quadtree and related hier- Acta Inf. 27, 423–452. archical data structure. ACM Comput. Surv. 16, 2, 187–260. PAGEL,B.U.,SIX, H.-W., AND TOBEN, H. 1993a. The transformation technique for spatial ob- SAMET, H. 1988. Hierarchical representation of jects revisited. In Advances in Spatial Data- collections of small rectangles. ACM Comput. bases, D. Abel and B. C. Ooi, Eds., LNCS 692, Surv. 20, 4, 271–309. Springer-Verlag, Berlin/Heidelberg/New York, SAMET, H. 1990a. Applications of Spatial Data 73–88. Structures. Addison-Wesley, Reading, MA. PAGEL,B.U.,SIX, H.-W., AND WINTER, M. 1995. SAMET, H. 1990b. The Design and Analysis of Window query optimal clustering of spatial Spatial Data Structures. Addison-Wesley, objects. In Proceedings of the Fourteenth ACM Reading, MA. SIGACT–SIGMOD–SIGART Symposium on SAMET,H.AND WEBBER, R. E. 1985. Storing a Principles of Database Systems, 86–94. collection of polygons using quadtrees. ACM PAGEL,B.U.,SIX, H.-W., TOBEN, H., AND WID- Trans. Graph. 4, 3, 182–222. MAYER, P. 1993b. Towards an analysis of SCHIWIETZ, M. 1993. Speicherung und anfrage- range query performance in spatial data bearbeitung komplexer geo-objekte. Ph.D. The- structures. In Proceedings of the Twelfth ACM sis, Ludwig-Maximilians-Universita¨t Mu¨ nchen, SIGACT–SIGMOD–SIGART Symposium on Germany (in German). Principles of Database Systems, 214–221. SCHNEIDER,R.AND KRIEGEL, H.-P. 1992. The PAPADIAS, D., THEODORIDIS, Y., SELLIS, T., AND TR*-tree: A new representation of polygonal EGENHOFER, M. J. 1995. Topological rela- objects supporting spatial queries and opera- tions in the world of minimum bounding rect- tions. In Proceedings of the Seventh Workshop angles: A study with R-trees. In Proceedings on Computational Geometry, LNCS 553, of the ACM SIGMOD International Confer- Springer-Verlag, Berlin/Heidelberg/New York, ence on Management of Data, 92–103. 249–264. PAPADOPOULOS,A.AND MANOLOPOULOS, Y. 1997. SCHOLL,M.AND VOISARD, A. 1989. Thematic Performance of nearest neighbor queries in map modeling. In Design and Implementation R-trees. In Proceedings of the International of Large Spatial Database Systems, A. Buch- Conference on Database Theory (ICDT’97),F. mann, O. Gu¨ nther, T. R. Smith, and Y.-F. Afrati and P. Kolaitis, Eds., LNCS 1186, Wang, Eds., LNCS 409, Springer-Verlag, Ber- Springer-Verlag, Berlin/Heidelberg/New York, lin/Heidelberg/New York. 394–408. SEEGER, B. 1991. Performance comparison of segment access methods implemented on top PELOUX, J., REYNAL, G., AND SCHOLL, M. 1994. of the buddy-tree. In Advances in Spatial Evaluation of spatial indices implemented Databases,O.Gu¨ nther and H. Schek, Eds., with the O DBMS. Inge´nie`rie des Syste`mes 2 LNCS 525, Springer-Verlag, Berlin/Heidel- d’Information 6. berg/New York, 277–296. PREPARATA,F.P.AND SHAMOS, M. I. 1985. Com- SEEGER,B.AND KRIEGEL, H.-P. 1988. Tech- putational Geometry. Springer-Verlag, New niques for design and implementation of spa- York. tial access methods. In Proceedings of the REGNIER, M. 1985. Analysis of the grid file algo- Fourteenth International Conference on Very rithms. BIT 25, 335–357. Large Data Bases, 360–371. ROBINSON, J. T. 1981. The K-D-B-tree: A search SEEGER,B.AND KRIEGEL, H.-P. 1990. The bud- structure for large multidimensional dynamic dy-tree: An efficient and robust access method indexes. In Proceedings of the ACM SIGMOD for spatial data base systems. In Proceedings International Conference on Management of of the Sixteenth International Conference on Data, 10–18. Very Large Data Bases, 590–601. ROTEM, D. 1991. Spatial join indices. In Pro- SELLIS, T., ROUSSOPOULOS, N., AND FALOUTSOS,C.

ACM Computing Surveys, Vol. 30, No. 2, June 1998 Multidimensional Access Methods • 231

1987. The Rϩ-tree: A dynamic index for ings of the First International Conference on multi-dimensional objects. In Proceedings of Expert Data Base Systems. the Thirteenth International Conference on STUCKEY, P. 1997. Constraint search trees. In Very Large Data Bases, 507–518. Proceedings of the International Conference on SEVCIK,K.AND KOUDAS, N. 1996. Filter trees Logic Programming (CLP’97), L. Naish, Ed., for managing spatial data over a range of size MIT Press, Cambridge, MA. granularities. In Proceedings of the 22th In- SUBRAMANIAN,S.AND RAMASWAMY, S. 1995. The ternational Conference on Very Large Data P-: A new data structure for range Bases (Bombay), 16–27. searching in secondary memory. In Proceed- SEXTON, A. P. 1997. Querying indexed files. In ings of the ACM-SIAM Symposium on Discrete Proceedings of the CDB’97 and CP’96 Work- Algorithms (SODA’95). shop on Constraint Databases and Their Ap- plication, V. Gaede, A. Brodsky, O. Gu¨ nther, TAMMINEN, M. 1982. The extendible cell method D. Srivastava, V. Vianu, and M. Wallace, for closest point problems. BIT 22, 27–41. Eds., LNCS 1191, Springer-Verlag, Berlin/ TAMMINEN, M. 1983. Performance analysis of Heidelberg/New York, 263–281. cell based geometric file organisations. Int. SHEKHAR,S.AND LIU, D.-R. 1995. CCAM: A con- J. Comp. Vis. Graph. Image Process. 24, 160– nectivity-clustered access method for aggre- 181. gate queries on transportation networks: A TAMMINEN, M. 1984. Comment on quad- and oc- summary of results. In Proceedings of the trees. Commun. ACM 30, 3, 204–212. Eleventh IEEE International Conference on THEODORIDIS,Y.AND SELLIS, T. K. 1996. A Data Engineering, 410–419. model for the prediction of R-tree perfor- SIEMENS NIXDORF INFORMATIONSSYSTEME AG mance. In Proceedings of the Fifteenth ACM 1997. URL http://www.sni.de. SIGACT–SIGMOD–SIGART Symposium on SIX,H.AND WIDMAYER, P. 1988. Spatial search- Principles of Database Systems, 161–171. ing in geometric databases. In Proceedings of TROPF,H.AND HERZOG, H. 1981. Multi- the Fourth IEEE International Conference on Data Engineering, 496–503. dimensional range search in dynamically bal- anced trees. Angewandte Informatik 2, 71–77. SMID,M.H.AND OVERMARS, M. H. 1990. Main- taining range trees in secondary memory part WHANG, K.-Y. AND KRISHNAMURTHY, R. 1985. II: Lower bounds. Acta Inf. 27, 453–480. Multilevel grid files. IBM Research Labora- tory, Yorktown Heights, NY. SMITH,T.R.AND GAO, P. 1990. Experimental performance evaluations on spatial access WHITE, M. 1981. N-trees: Large ordered in- methods. In Proceedings of the Fourth Inter- dexes for multi-dimensional space. Tech. Rep., national Symposium on Spatial Data Han- Application Mathematics Research Staff, Sta- dling (Zu¨ rich), 991–1002. tistical Research Division, US Bureau of the STONEBRAKER,M.(ED.) 1994. Readings in Data- Census. base Systems. Morgan-Kaufmann, San Mateo, WIDMAYER, P. 1991. Datenstrukturen fu¨ r Geo- CA. datenbanken. In Entwicklungstendenzen bei STONEBRAKER, M., SELLIS, T., AND HANSON,E. Datenbank-Systemen, G. Vossen and K.-U. 1986. An analysis of rule indexing imple- Witt, Eds., Oldenbourg-Verlag, Munich, mentations in data base systems. In Proceed- Chapter 9, 317–361 (in German).

Received August 1995; revised August 1997; accepted January 1998

ACM Computing Surveys, Vol. 30, No. 2, June 1998