21
R* Tree By Rohan Sadale Akshay Kulkarni

R* Tree By Rohan Sadale Akshay Kulkarni. Motivation Optimization criteria for R* Tree High level Algorithm Example Performance Agenda

Embed Size (px)

DESCRIPTION

Motivation  R Tree  Every parent completely covers its children  A child MBR may be covered by more than one parent. It is stored under only one of them.  Minimizes only area.  Multiple nodes should be visited because of overlap (MBRs).

Citation preview

Page 1: R* Tree By Rohan Sadale Akshay Kulkarni.  Motivation  Optimization criteria for R* Tree  High level Algorithm  Example  Performance Agenda

R* Tree

By Rohan Sadale

Akshay Kulkarni

Page 2: R* Tree By Rohan Sadale Akshay Kulkarni.  Motivation  Optimization criteria for R* Tree  High level Algorithm  Example  Performance Agenda

Motivation

Optimization criteria for R* Tree

High level Algorithm

Example

Performance

Agenda

Page 3: R* Tree By Rohan Sadale Akshay Kulkarni.  Motivation  Optimization criteria for R* Tree  High level Algorithm  Example  Performance Agenda

Motivation R Tree

Every parent completely covers its children A child MBR may be covered by more than one

parent. It is stored under only one of them. Minimizes only area. Multiple nodes should be visited because of overlap

(MBRs).

Page 4: R* Tree By Rohan Sadale Akshay Kulkarni.  Motivation  Optimization criteria for R* Tree  High level Algorithm  Example  Performance Agenda

Motivation R+ Tree

Disjoint MBRs Prevents overlapping by duplicating objects

across leaf nodes

Page 5: R* Tree By Rohan Sadale Akshay Kulkarni.  Motivation  Optimization criteria for R* Tree  High level Algorithm  Example  Performance Agenda

Motivation R* Tree

Improved query performance over R-Tree But, higher construction cost Incorporates a combined optimization of:

-area -margin -overlap

Page 6: R* Tree By Rohan Sadale Akshay Kulkarni.  Motivation  Optimization criteria for R* Tree  High level Algorithm  Example  Performance Agenda

Follows an engineering approach to find best possible combinations of the criteria mentioned below:

Minimization of area covered by each MBR Minimization of overlap between MBRs Minimization of MBR margins Maximization of storage utilization

But, can’t do all at once. Need a heuristic approach.

Optimization criteria for R* Tree

Page 7: R* Tree By Rohan Sadale Akshay Kulkarni.  Motivation  Optimization criteria for R* Tree  High level Algorithm  Example  Performance Agenda

High Level Algorithm Same algorithm as the R-tree for query and delete

operations.

When inserting, the R*-tree uses a combined strategy. For inner nodes (non-leaf), enlargement and area

are minimized. For leaf nodes, overlap is minimized.

Deletion and reinsertion of entries allows them to "find" a place in the tree that may be more appropriate than their original location.

When a node overflows, a portion of its entries are removed from the node and reinserted into the tree.

This has the effect of producing more well-clustered groups of entries in nodes, reducing node coverage.

Page 8: R* Tree By Rohan Sadale Akshay Kulkarni.  Motivation  Optimization criteria for R* Tree  High level Algorithm  Example  Performance Agenda

R*-Tree example

a

b

c

e

d

f

g

i

h

j

N3

N4

N2

N1

N6N

5

N5

N6

N1

N2

N3

N4

jihgfedcba

Page 9: R* Tree By Rohan Sadale Akshay Kulkarni.  Motivation  Optimization criteria for R* Tree  High level Algorithm  Example  Performance Agenda

R*-Tree example

a

b

c

e

d

k

f

g

i

h

j

N3

N4

N2

N1

N6N

5

N5

N6

N1

N2

N3

N4

jihgfedcba

Insert k

Page 10: R* Tree By Rohan Sadale Akshay Kulkarni.  Motivation  Optimization criteria for R* Tree  High level Algorithm  Example  Performance Agenda

R*-Tree example

a

b

c

e

d

k

f

g

i

h

j

N3

N4

N2

N1

N6N

5

N5

N6

N1

N2

N3

N4

jihgfedcba

Insert kCheck for minimum area enlargement at root node.N5 or N6 ? - choose N5

k ?

Page 11: R* Tree By Rohan Sadale Akshay Kulkarni.  Motivation  Optimization criteria for R* Tree  High level Algorithm  Example  Performance Agenda

R*-Tree example

a

b

c

e

d

k

f

g

i

h

j

N3

N4

N2

N1

N6N

5

N5

N6

N1

N2

N3

N4

jihgfedcba

Insert kCheck for minimum area enlargement at next non leaf node. N1 or N2 ? - choose N1

k ?

Page 12: R* Tree By Rohan Sadale Akshay Kulkarni.  Motivation  Optimization criteria for R* Tree  High level Algorithm  Example  Performance Agenda

R*-Tree example

a

b

c

e

d

k

f

g

i

h

j

N3

N4

N2

N1

N6N

5

N5

N6

N1

N2

N3

N4

jihgfedcba

Insert kIf node capacity is 3., then where will ‘k’ go?Reinsertion of nodes from nearest MBRs (strategy - overlap minimization)

k ?

Page 13: R* Tree By Rohan Sadale Akshay Kulkarni.  Motivation  Optimization criteria for R* Tree  High level Algorithm  Example  Performance Agenda

R*-Tree example

a

b

c

e

d

k

f

g

i

h

j

N3

N4

N2

N1

N6N

5

N5

N6

N1

N2

N3

N4

jihgfedcba

Insert kIf node capacity is 3., then where will ‘k’ go?

kRe

inse

rt n

odes

from

N1

and

N2

Page 14: R* Tree By Rohan Sadale Akshay Kulkarni.  Motivation  Optimization criteria for R* Tree  High level Algorithm  Example  Performance Agenda

R*-Tree example

a

b

c

e

d

k

f

g

i

h

j

N3

N4

N2

N1

N6N

5

N5

N6

N1

N2

N3

N4

jihgfedkba

Insert kIf node capacity is 3., then where will ‘k’ go?- Reinsertion !!!

c

Page 15: R* Tree By Rohan Sadale Akshay Kulkarni.  Motivation  Optimization criteria for R* Tree  High level Algorithm  Example  Performance Agenda

R-Tree vs R+ Tree vs R* Tree

j

a b

c

e

f g

h i

12 3

1st level index

leafs

1 2 3

a b c e f g h i

d

d

new data

x new data: x

Initial data:{a,b,…,h,i}

Legend

Initial R-tree

Page 16: R* Tree By Rohan Sadale Akshay Kulkarni.  Motivation  Optimization criteria for R* Tree  High level Algorithm  Example  Performance Agenda

R-Tree

j

a b

c

e

f g

h i

1

23

1st level index

leafs

dnew data

x new data: x

Initial data:{a,b,…,h,i}

Legend

Page 17: R* Tree By Rohan Sadale Akshay Kulkarni.  Motivation  Optimization criteria for R* Tree  High level Algorithm  Example  Performance Agenda

R+ Tree

j

a b

c

e

f g

h i

1

23

1st level index

leafs

dnew data

x new data: x

Initial data:{a,b,…,h,i}

Legend

Page 18: R* Tree By Rohan Sadale Akshay Kulkarni.  Motivation  Optimization criteria for R* Tree  High level Algorithm  Example  Performance Agenda

R* Tree

j

a b

c

e

f g

h i

1

2

31st level index

leafs

dnew data

x new data: x

Initial data:{a,b,…,h,i}

Legend

Page 19: R* Tree By Rohan Sadale Akshay Kulkarni.  Motivation  Optimization criteria for R* Tree  High level Algorithm  Example  Performance Agenda

Performance Improved split heuristic produces pages that are more

rectangular and thus better for many applications.

Reinsertion method optimizes the existing tree, but increases complexity.

Efficiently supports point and spatial data at the same time.

Page 20: R* Tree By Rohan Sadale Akshay Kulkarni.  Motivation  Optimization criteria for R* Tree  High level Algorithm  Example  Performance Agenda

References

Encyclopedia of GIS: R*-tree, H. Kriegel, P. Kunath, page 987-992.

R-Trees: Theory and Applications, Yannis Manolopoulos, Alexandros Nanopoulos, Apostolos N. Papadopoulos and Yannis Theodoridis

Wikipedia - https://en.wikipedia.org/wiki/R*_tree

Page 21: R* Tree By Rohan Sadale Akshay Kulkarni.  Motivation  Optimization criteria for R* Tree  High level Algorithm  Example  Performance Agenda

Thank you :)