R Tree
R Tree
Introduction to R-trees
One of the most important contributions
in the area of multidimensional
indexing is due to Antonin Guttman
which invented the R-tree.
His work:
R-trees: a dynamic index structure for spatial searching,
ACM SIGMOD Conference 1984
has received more than 2,900 citations
(source google scholar)
49
Introduction to R-trees
The R-tree can be viewed as an extension of the B+-tree to handle
multiple dimensions. Recall that, a B+-tree is used to organize
numeric data in one dimension only.
Each node
corresponds
to a disk page
leaf 1
14 16
leaf 2
17
24
19 20 22
leaf 3
30
24 27 29
leaf 4
33 34 38 39
leaf 5
50
Introduction to R-trees
R-trees have been extensively used in spatial
databases to organize points and rectangles.
They show excellent performance in processing
interesting queries such as:
Range query: return the points that are contained
in a specified region.
K-nearest-neighbor: given a point p and an integer
k return the k objects closer to p.
51
Introduction to R-trees
Introduction to R-trees
y axis
10
Example:
13 points in
2 dimensions
m
g
8
6
e f
i
d
region of interest
b
2
x axis
0
10
m
g
8
6
E3
b
2
Each node
corresponds
to a disk page
x axis
0
10
Root
E
1
E
1
a
E
3
E
3
E
4
d
E
4
E
2
E
5
E
6
f
E
5
E
7
i
h
E
6
E
2
j
k
E
7
m
54
E7
m
g
8
6
E5
E4
E6
E3
b
2
x axis
0
E
1
E
1
a
E
3
E
3
E
4
d
E
4
10
Root
E
2
E
5
E
6
f
E
5
E
7
i
h
E
6
E
2
j
k
E
7
m
55
m
g
E7
E5
f
E4
4
E3
E2
E1
b
2
E6
i
x axis
0
10
Root
E
1
E
1
a
E
3
E
3
E
4
d
E
4
E
2
E
5
E
6
f
E
5
E
7
i
h
E
6
E
2
j
k
E
7
m
56
m
g
E7
E5
E4
b
E3
E2
E1
E6
e f
x axis
0
E1
a
E3
E3
E4
d
E4
Root
E1
E2
10
E5
E6
f
E5
E7
i
h
E6
E2
j
k
E7
m
57
m
g
E7
E5
e f
E4
b
2
E3
E2
E1
E6
i
x axis
0
E1
a
E3
E3
E4
d
E4
Root
E1
E2
10
E5
E6
f
E5
E7
i
h
E6
E2
j
k
E7
m
58