B-Trees cannot store new types of data
Specifically people wanted to store
geometrical data and multi-dimensional data
The R-Tree provided a way to do that (thanks
to Antonin Guttman ‘84)
R-Trees can organize any-dimensional data
by representing the data by a minimum
Each node bounds it’s children.
The leaves point to the actual objects
(stored on disk pages)
The height is always log n. It is height
Root has at least two children
• Search for the rectangle
• If the rectangle is found, remove it.
• Adjust the rectangles making them
• If the node is too empty (deficient):
• delete the node recursively at its parent
• insert all entries of the deleted node into the R-tree
Re-use of INSERT routine Incrementally
refines spatial structure
Similar to B-tree search
Quite easy & straight forward (Traverse
the whole tree starting at the root node)
No guarantee on good worst-case
performance! (Possible overlapping of
rectangles of entries within a single
node!). Again, dependent on geometries.
• R+ trees differ from R trees in that:
– No overlapping
– An object ID may be stored in
more than one leaf node.
– Search is easier.
– A fewer nodes are visited than
with the R-tree.
– Since rectangles are duplicated,
it is larger than R tree.
– Construction & maintenance
is more complex.
• Data objects in the map
are represented by the
The initial application that motivated Guttman to
his pioneering research was VLSI design
(i.e., how to efficiently answer whether a space is
already covered by a chip or not).
A VLSI integrated-circuit
The system extracts robust features from images. These features are
used for indexing the images in a database using an R-tree.
When a query is made about whether a test image is a replica of an
image in the database, then the R-tree is traversed.
(left side) and a
fake finger (right
Template of the pores and search along ridges.
Fingerprint image (a) where
pores can be easily noticed
as small “holes” along ridges
flow (as evident in the zoom
In astronomical data collections, there are many data that can be thought of as
points in a multi-dimensional space and are then suitable to be indexed using R-
trees .Coordinates on the sky can be (and often are) represented in a database as
ordered couples of longitude and latitude.
A common example of spatial data can be seen in a road map. Spatial
data lets you use R-tree indexing .A road map is a two-dimensional
object that contains points, lines, and polygons that can represent
cities, roads, and political boundaries such as states or provinces.
Virtual Sky Astronomy for iPad, iPhones on the App Store.
In many scientific applications
such as Earth Observation
System (EOSDIS) it is a
daunting task to index ever
increasing volume of complex
data that are continuously
added to databases. To
multidimensional data in
scientific and data
warehousing environments, R-
tree based index structures
have been widely used