SlideShare a Scribd company logo
1 of 39
Chap 2 – Dynamic Versions of R-trees
  R-Trees Theory and Applications
       指導教授:Kun-Ta Chuang
        學生:Bo-Heng Chen
Abstract
•   Introduction
•   Assorted R-tree Variants
•   Node Splitting
•   Branch Grafting
•   Compact R-trees & cR-trees
•   Deviating Variations
•   Summary
Introduction
• Mentor
  – Volker Gaede
     • http://www.informatik.uni-trier.de/~ley/db/indices/a-
       tree/g/Gaede:Volker.html
  – Oliver Günther, U. Potsdam
     • http://www.informatik.uni-trier.de/~ley/db/indices/a-
       tree/g/G=uuml=nther:Oliver.html
(cont.)
• Dynamic versions of the R-tree
  – The objects are inserted on a one-by-one basis
• Focus on the way in assorted R-tree variants
  – dynamic insertions
  – dynamic splits
+
                         R -tree
• The original R-tree has two important
  disadvantages
  – The execution of a point location query in an R-tree
    may lead to the investigation of several paths from the
    root to the leaf level
     • This characteristic may lead to performance deterioration,
       specifically when the overlap of the MBRs is significant
  – A few large rectangles may increase the degree of
    overlap significantly
     • Leading to performance degradation during range query
       execution, due to empty space
(cont.)
• R+-tree were proposed as a structure
  – avoids visiting multiple paths during point location
    queries
     • Thus, the retrieval performance could be improved
  – MBR overlapping of internal nodes is avoided
     • R+-trees do not allow overlapping of MBRs at the same
       tree level
     • To achieve this, a specific object’s entries may be
       duplicated and redundantly stored in several nodes
(cont.)




Object d is stored in two leaf nodes B and C !
(cont.)
  • R+-tree - Insert
               2
      Scenario 1
                                          m
                             m
                                     Call SplitNode(B) !
     Insert(m,A.ptr)
Call Insert(m,D.ptr) !
    Perform appropriate tree reorganization to reflect changes




                                 m                     m
(cont.)
  • R+-tree – Delete
    – All copies of and object’s MBR must be removed
  entry A the corresponding leaf nodes
      from
        D
                            m


Call Delete(m,A.ptr) !
Call Delete(m,D.ptr) !
 Calculatem from A.ptr of the node
 Remove the new MBR
                 D.ptr


 Adjust the MBR of the parent node accordingly
                                m                  m
(cont.)
• Main difference between the R+-tree splitting
  algorithm and that of R-tree
  – In the R-tree, upward propagation is sufficient to
    guarantee the structure’s integrity
  – In the R+-tree, downward propagation may be
    necessary, in addition to the upward propagation
R*-tree
• As already discussed, the R-tree is based solely
  on the area minimization of each MBR
• The criteria considered by the R*-tree are the
  following
  – Minimization of the area covered by each MBR
  – Minimization of overlap between MBRs
  – Minimization of MBR margins (perimeters)
  – Maximization of storage utilization
For the leaf nodes, ChooseSubtree
  (cont.)            considers the overlapping
                     minimization criterion, because
  • R*-tree – Insert experimental results in [19]
       – For the insertion of a new entry, we have to
         decide which branch to follow, at each level of the
         tree
          • This algorithm is called ChooseSubtree




[19]
N. Beckmann, H.P. Kriegel, R. chooseand B. entry “The R∗-tree: an Efficient
                              Schneider the Seeger: whose MBR needs
and Robust Method for Points and Rectangles”, Proceedings ACM SIGMOD
Conference on Management the least area Atlantic City, NJ, 1990. cover k
                              of Data, pp.322-331, enlargement to
(cont.)
 • R*-tree – Insert
    – In case ChooseSubtree that N a leaf that cannot
                   Assume selects1 is overflowed.
      accommodate the new entry, the R∗-tree does not
      immediately resort to node splitting



Entry b is selected for reinsertion, as its centroid is the
farthest from the centroid of N1
Reinsertion is a costly operation. Therefore, only
one application of reinsertion is permitted for each
level of the tree
(cont.)
It considers every division of the sorted list that
ensures that each node is at least 40% full




The final division is the one that has the minimum
When overflow cannot be handled by reinsertion,
overlap between the MBRs of the resulting nodes
node splitting is performed
(cont.)
• R*-tree – Delete
  – Deletion in the R∗-tree is performed with the
    deletion algorithm of the original R-tree
The Hilbert R-tree
• Hybrid structure based on the R-tree and the B+-tree
• An entry e of an internal node is a triplet(mbr,H,p)
   – mbr is the MBR that encloses all the objects in the
     corresponding subtree
   – H is the maximum Hilbert value of the subtree
   – p is the pointer to the next level
• Entries in leaf nodes are exactly the same as in R-trees,
  R+-trees, and R*-trees and are of the form (mbr,oid)
   – mbr is the MBR of the object
   – oid is the corresponding object identifier
(cont.)
• Hilbert tree - Insert
(cont.)
• An important characteristic of the Hilbert R-tree
  that is missing from other variants
   – There exists an order of the nodes at each tree
     level, respecting the Hilbert order of the MBRs
• Instead of splitting a node immediately after its
  capacity has been exceeded, we try to store some
  entries in sibling nodes
   – A split takes places only if all siblings are also full.
   – This unique property of the Hilbert R-tree helps
     considerably in storage utilization increase, and avoids
     unnecessary split operations
(cont.)
Linear Node Splitting
• Criterion of this algorithm
  – distribute the objects between the two nodes as
    evenly as possible
  – the minimization of the overlapping between
    them
  – the minimization of the total coverage
Optimal Node Splitting
• Three node splitting algorithms were proposed by
  Guttman to handle a node overflow
  – linear algorithm
     • More time efficient but fails to determine an optimal
       rectangle bipartition
  – exponential algorithm
     • Achieve the optimal bipartitioning of the rectangles, at the
       expense of increased splitting cost
  – quadratic algorithm
     • The best compromise between efficiency and bipartition
       optimally
Branch Grafting
• Objectives
  – achieve better-shaped R-trees and to reduce the
    total number of nodes
     • Both these factors can improve performance during
       query processing
(cont.)
(cont.)
• Example




    C
            H
Compact R-trees
• Motivation
  – Rtrees, R+-trees, and R*-trees suffer from the
    storage utilization problem, which is around 70%
    in the average case
  – Therefore, the authors improve the insertion
    mechanism of R-trees to a more compact R-tree
    structure, with no penalty on performance during
    queries
(cont.)
• Among theM+1 entries of an overflowing
  node during insertions, a set of M entries is
  selected to remain in this node, under the
  constraint that the resulting MBR is the
  minimum possible
• Then the remaining entry is inserted to a
  sibling that
  – has available space
  – whose MBR is enlarged as little as possible
(cont.)
• Performance evaluation results have shown
  that the storage utilization of the new
  heuristic is between 97% and 99%
• A direct impact of the storage utilization
  improvement is the fact that fewer tree nodes
  are required to index a given dataset
• Moreover, less time is required to build the
  tree by individual insertions, because of the
  reduced number of split operations required
cR-trees


The empirical studies provided in the paper
illustrate that the cR-tree query performance
was competitive with the R*-tree and was
much better than that of the R-tree
Deviating Variations
• Sphere-tree
   – uses minimum bounding spheres instead of MBRs
• Cell-tree
   – Uses minimum bounding polygons designed to
     accommodate arbitrary shape objects
• P-tree(Polyhedral tree)
   – use minimum bounding polygons instead of MBRs
• QR-tree
   – hybrid access method composed of a Quadtree and a
     forest of R-trees
PR-trees
• A provably asymptotically optimal variation of the
  R-tree
• height-balance tree
  – i.e., all its leaves are at the same level
• Query performance
  – real data
     • PR-trees perform similar to existing R-tree variants
  – extreme data(very skewed data)
     • PR-trees outperform all other variants, due to their
       guaranteed worst-case performance
LR-trees
• The LR-tree is an index structure based on the
  logarithmic dynamization method
• Example
  – base B=2 , capacity c=4
  – 11 items
(cont.)
12 = 1100 2
11 1011
Summary
• Evidently, the original R-tree, proposed by
  Guttman, has influenced all the forthcoming
  variations of dynamic R-tree structures
• The R*-tree followed an engineering approach
  and evaluated several factors that affect the
  performance of the R-tree
  – it is considered the most robust variant and has
    found numerous applications, in both research
    and commercial systems
(cont.)
• The empirical study has shown that the
  Hilbert R-tree can perform better than the
  other variants in some cases
• PR-tree is the first approach that offers
  guaranteed worst-case performance and
  overcomes the degenerated cases when
  almost the entire tree has to be traversed
  – Despite its more complex building algorithm, it
    has to be considered the best variant reported so
    far
English
• In this chapter, we are further focusing on the
  family of R-trees by enlightening the similarities
  and differences, advantages and disadvantages of
  the variations in a more exhaustive manner. (P.15)
• We presented dynamic versions of the R-tree,
  where the objects are inserted on a one-by-one
  basis, as opposed to the case where a special
  packing technique can be applied to insert an
  priori known static set of object into the structure
  by optimizing the storage overhead and retrieval
  performance.(P.15)
(cont.)
• As already discussed, the R-tree is based solely
  on the area minimization of each MBR.(P.18)
• The Hilbert R-tree [105] is a hybrid structure
  based on the R-tree and the B+-tree (P.20)
• Instead of splitting a node immediately after
  its capacity has been exceeded, we try to store
  some entries in sibling nodes(P.22)
(cont.)
• Therefore, the best compromise between
  efficiency and bipartition optimality is the
  quadratic algorithm.(P.24)
• In particular, the objects of an overflowing
  node are optimally separated in two sets.
• The motivation behind the proposed approach
  is that R-trees, R+-trees, and R*-trees suffer
  from the storage utilization problem
(cont.)
• It is worth mentioning that the PR-tree,
  although a variant that deviates from other
  existing ones, is the first approach that offers
  guaranteed worst-case performance and
  overcomes the degenerated cases when
  almost the entire tree has to be
  traversed.(P.34)
(cont.)
• Therefore, despite its more complex building
  algorithm, it has to be considered the best
  variant reported so far.

More Related Content

Viewers also liked (15)

Iconic towers architectural cgi gallery
Iconic towers architectural cgi galleryIconic towers architectural cgi gallery
Iconic towers architectural cgi gallery
 
днз семінар
днз семінарднз семінар
днз семінар
 
Annual meeting2013 the art of engagement_ann
Annual meeting2013 the art of engagement_annAnnual meeting2013 the art of engagement_ann
Annual meeting2013 the art of engagement_ann
 
Solopreneur Big Bang 2013
Solopreneur Big Bang 2013Solopreneur Big Bang 2013
Solopreneur Big Bang 2013
 
Flower festival harry
Flower festival harryFlower festival harry
Flower festival harry
 
Portfolio one
Portfolio onePortfolio one
Portfolio one
 
Picture this
Picture thisPicture this
Picture this
 
Mih gic 2013_slide_share
Mih gic 2013_slide_shareMih gic 2013_slide_share
Mih gic 2013_slide_share
 
Final case study
Final case studyFinal case study
Final case study
 
Sasizientziak
SasizientziakSasizientziak
Sasizientziak
 
Kalender akademik-2011-2013
Kalender akademik-2011-2013Kalender akademik-2011-2013
Kalender akademik-2011-2013
 
5 ways to save gas
5 ways to save gas5 ways to save gas
5 ways to save gas
 
Renaissance and Scientific Revolution - Jeopardy Review
Renaissance and Scientific Revolution - Jeopardy ReviewRenaissance and Scientific Revolution - Jeopardy Review
Renaissance and Scientific Revolution - Jeopardy Review
 
I phone 5
I phone 5I phone 5
I phone 5
 
DIFICULTADES DE ADAPTACION EN LA SOCIEDAD
DIFICULTADES DE ADAPTACION EN LA SOCIEDADDIFICULTADES DE ADAPTACION EN LA SOCIEDAD
DIFICULTADES DE ADAPTACION EN LA SOCIEDAD
 

Similar to Chap 2 – dynamic versions of r trees

High Dimensional Indexing using MongoDB (MongoSV 2012)
High Dimensional Indexing using MongoDB (MongoSV 2012)High Dimensional Indexing using MongoDB (MongoSV 2012)
High Dimensional Indexing using MongoDB (MongoSV 2012)Nicholas Knize, Ph.D., GISP
 
Beyond Write-reduction Consideration: A Wear-leveling-enabled B+-tree Indexin...
Beyond Write-reduction Consideration: A Wear-leveling-enabled B+-tree Indexin...Beyond Write-reduction Consideration: A Wear-leveling-enabled B+-tree Indexin...
Beyond Write-reduction Consideration: A Wear-leveling-enabled B+-tree Indexin...Po-Chuan Chen
 
InteriorForestAnalysisProcedure
InteriorForestAnalysisProcedureInteriorForestAnalysisProcedure
InteriorForestAnalysisProcedureTammy Kobliuk
 
Datomic R-trees
Datomic R-treesDatomic R-trees
Datomic R-treesjsofra
 
Datomic rtree-pres
Datomic rtree-presDatomic rtree-pres
Datomic rtree-presjsofra
 
Cost estimation for Query Optimization
Cost estimation for Query OptimizationCost estimation for Query Optimization
Cost estimation for Query OptimizationRavinder Kamboj
 
Dremel interactive analysis of web scale datasets
Dremel interactive analysis of web scale datasetsDremel interactive analysis of web scale datasets
Dremel interactive analysis of web scale datasetsCarl Lu
 
MapReduce
MapReduceMapReduce
MapReduceKavyaGo
 
Hadoop performance optimization tips
Hadoop performance optimization tipsHadoop performance optimization tips
Hadoop performance optimization tipsSubhas Kumar Ghosh
 
Physical organization of parallel platforms
Physical organization of parallel platformsPhysical organization of parallel platforms
Physical organization of parallel platformsSyed Zaid Irshad
 
chapter 6.1.pptx
chapter 6.1.pptxchapter 6.1.pptx
chapter 6.1.pptxTekle12
 
Talk about apache cassandra, TWJUG 2011
Talk about apache cassandra, TWJUG 2011Talk about apache cassandra, TWJUG 2011
Talk about apache cassandra, TWJUG 2011Boris Yen
 
Talk About Apache Cassandra
Talk About Apache CassandraTalk About Apache Cassandra
Talk About Apache CassandraJacky Chu
 

Similar to Chap 2 – dynamic versions of r trees (20)

RTree Spatial Indexing with MongoDB - MongoDC
RTree Spatial Indexing with MongoDB - MongoDC RTree Spatial Indexing with MongoDB - MongoDC
RTree Spatial Indexing with MongoDB - MongoDC
 
High Dimensional Indexing using MongoDB (MongoSV 2012)
High Dimensional Indexing using MongoDB (MongoSV 2012)High Dimensional Indexing using MongoDB (MongoSV 2012)
High Dimensional Indexing using MongoDB (MongoSV 2012)
 
Data Structures 4
Data Structures 4Data Structures 4
Data Structures 4
 
Floor planning ppt
Floor planning pptFloor planning ppt
Floor planning ppt
 
Beyond Write-reduction Consideration: A Wear-leveling-enabled B+-tree Indexin...
Beyond Write-reduction Consideration: A Wear-leveling-enabled B+-tree Indexin...Beyond Write-reduction Consideration: A Wear-leveling-enabled B+-tree Indexin...
Beyond Write-reduction Consideration: A Wear-leveling-enabled B+-tree Indexin...
 
Top tree
Top treeTop tree
Top tree
 
InteriorForestAnalysisProcedure
InteriorForestAnalysisProcedureInteriorForestAnalysisProcedure
InteriorForestAnalysisProcedure
 
A41001011
A41001011A41001011
A41001011
 
Datomic R-trees
Datomic R-treesDatomic R-trees
Datomic R-trees
 
Datomic rtree-pres
Datomic rtree-presDatomic rtree-pres
Datomic rtree-pres
 
Join Operation.pptx
Join Operation.pptxJoin Operation.pptx
Join Operation.pptx
 
Cost estimation for Query Optimization
Cost estimation for Query OptimizationCost estimation for Query Optimization
Cost estimation for Query Optimization
 
Dremel interactive analysis of web scale datasets
Dremel interactive analysis of web scale datasetsDremel interactive analysis of web scale datasets
Dremel interactive analysis of web scale datasets
 
MapReduce
MapReduceMapReduce
MapReduce
 
Hadoop performance optimization tips
Hadoop performance optimization tipsHadoop performance optimization tips
Hadoop performance optimization tips
 
Physical organization of parallel platforms
Physical organization of parallel platformsPhysical organization of parallel platforms
Physical organization of parallel platforms
 
chapter 6.1.pptx
chapter 6.1.pptxchapter 6.1.pptx
chapter 6.1.pptx
 
Spatial index(2)
Spatial index(2)Spatial index(2)
Spatial index(2)
 
Talk about apache cassandra, TWJUG 2011
Talk about apache cassandra, TWJUG 2011Talk about apache cassandra, TWJUG 2011
Talk about apache cassandra, TWJUG 2011
 
Talk About Apache Cassandra
Talk About Apache CassandraTalk About Apache Cassandra
Talk About Apache Cassandra
 

Chap 2 – dynamic versions of r trees

  • 1. Chap 2 – Dynamic Versions of R-trees R-Trees Theory and Applications 指導教授:Kun-Ta Chuang 學生:Bo-Heng Chen
  • 2. Abstract • Introduction • Assorted R-tree Variants • Node Splitting • Branch Grafting • Compact R-trees & cR-trees • Deviating Variations • Summary
  • 3. Introduction • Mentor – Volker Gaede • http://www.informatik.uni-trier.de/~ley/db/indices/a- tree/g/Gaede:Volker.html – Oliver Günther, U. Potsdam • http://www.informatik.uni-trier.de/~ley/db/indices/a- tree/g/G=uuml=nther:Oliver.html
  • 4. (cont.) • Dynamic versions of the R-tree – The objects are inserted on a one-by-one basis • Focus on the way in assorted R-tree variants – dynamic insertions – dynamic splits
  • 5. + R -tree • The original R-tree has two important disadvantages – The execution of a point location query in an R-tree may lead to the investigation of several paths from the root to the leaf level • This characteristic may lead to performance deterioration, specifically when the overlap of the MBRs is significant – A few large rectangles may increase the degree of overlap significantly • Leading to performance degradation during range query execution, due to empty space
  • 6. (cont.) • R+-tree were proposed as a structure – avoids visiting multiple paths during point location queries • Thus, the retrieval performance could be improved – MBR overlapping of internal nodes is avoided • R+-trees do not allow overlapping of MBRs at the same tree level • To achieve this, a specific object’s entries may be duplicated and redundantly stored in several nodes
  • 7. (cont.) Object d is stored in two leaf nodes B and C !
  • 8. (cont.) • R+-tree - Insert 2 Scenario 1 m m Call SplitNode(B) ! Insert(m,A.ptr) Call Insert(m,D.ptr) ! Perform appropriate tree reorganization to reflect changes m m
  • 9. (cont.) • R+-tree – Delete – All copies of and object’s MBR must be removed entry A the corresponding leaf nodes from D m Call Delete(m,A.ptr) ! Call Delete(m,D.ptr) ! Calculatem from A.ptr of the node Remove the new MBR D.ptr Adjust the MBR of the parent node accordingly m m
  • 10. (cont.) • Main difference between the R+-tree splitting algorithm and that of R-tree – In the R-tree, upward propagation is sufficient to guarantee the structure’s integrity – In the R+-tree, downward propagation may be necessary, in addition to the upward propagation
  • 11. R*-tree • As already discussed, the R-tree is based solely on the area minimization of each MBR • The criteria considered by the R*-tree are the following – Minimization of the area covered by each MBR – Minimization of overlap between MBRs – Minimization of MBR margins (perimeters) – Maximization of storage utilization
  • 12. For the leaf nodes, ChooseSubtree (cont.) considers the overlapping minimization criterion, because • R*-tree – Insert experimental results in [19] – For the insertion of a new entry, we have to decide which branch to follow, at each level of the tree • This algorithm is called ChooseSubtree [19] N. Beckmann, H.P. Kriegel, R. chooseand B. entry “The R∗-tree: an Efficient Schneider the Seeger: whose MBR needs and Robust Method for Points and Rectangles”, Proceedings ACM SIGMOD Conference on Management the least area Atlantic City, NJ, 1990. cover k of Data, pp.322-331, enlargement to
  • 13. (cont.) • R*-tree – Insert – In case ChooseSubtree that N a leaf that cannot Assume selects1 is overflowed. accommodate the new entry, the R∗-tree does not immediately resort to node splitting Entry b is selected for reinsertion, as its centroid is the farthest from the centroid of N1 Reinsertion is a costly operation. Therefore, only one application of reinsertion is permitted for each level of the tree
  • 14. (cont.) It considers every division of the sorted list that ensures that each node is at least 40% full The final division is the one that has the minimum When overflow cannot be handled by reinsertion, overlap between the MBRs of the resulting nodes node splitting is performed
  • 15. (cont.) • R*-tree – Delete – Deletion in the R∗-tree is performed with the deletion algorithm of the original R-tree
  • 16. The Hilbert R-tree • Hybrid structure based on the R-tree and the B+-tree • An entry e of an internal node is a triplet(mbr,H,p) – mbr is the MBR that encloses all the objects in the corresponding subtree – H is the maximum Hilbert value of the subtree – p is the pointer to the next level • Entries in leaf nodes are exactly the same as in R-trees, R+-trees, and R*-trees and are of the form (mbr,oid) – mbr is the MBR of the object – oid is the corresponding object identifier
  • 18. (cont.) • An important characteristic of the Hilbert R-tree that is missing from other variants – There exists an order of the nodes at each tree level, respecting the Hilbert order of the MBRs • Instead of splitting a node immediately after its capacity has been exceeded, we try to store some entries in sibling nodes – A split takes places only if all siblings are also full. – This unique property of the Hilbert R-tree helps considerably in storage utilization increase, and avoids unnecessary split operations
  • 20. Linear Node Splitting • Criterion of this algorithm – distribute the objects between the two nodes as evenly as possible – the minimization of the overlapping between them – the minimization of the total coverage
  • 21. Optimal Node Splitting • Three node splitting algorithms were proposed by Guttman to handle a node overflow – linear algorithm • More time efficient but fails to determine an optimal rectangle bipartition – exponential algorithm • Achieve the optimal bipartitioning of the rectangles, at the expense of increased splitting cost – quadratic algorithm • The best compromise between efficiency and bipartition optimally
  • 22. Branch Grafting • Objectives – achieve better-shaped R-trees and to reduce the total number of nodes • Both these factors can improve performance during query processing
  • 25. Compact R-trees • Motivation – Rtrees, R+-trees, and R*-trees suffer from the storage utilization problem, which is around 70% in the average case – Therefore, the authors improve the insertion mechanism of R-trees to a more compact R-tree structure, with no penalty on performance during queries
  • 26. (cont.) • Among theM+1 entries of an overflowing node during insertions, a set of M entries is selected to remain in this node, under the constraint that the resulting MBR is the minimum possible • Then the remaining entry is inserted to a sibling that – has available space – whose MBR is enlarged as little as possible
  • 27. (cont.) • Performance evaluation results have shown that the storage utilization of the new heuristic is between 97% and 99% • A direct impact of the storage utilization improvement is the fact that fewer tree nodes are required to index a given dataset • Moreover, less time is required to build the tree by individual insertions, because of the reduced number of split operations required
  • 28. cR-trees The empirical studies provided in the paper illustrate that the cR-tree query performance was competitive with the R*-tree and was much better than that of the R-tree
  • 29. Deviating Variations • Sphere-tree – uses minimum bounding spheres instead of MBRs • Cell-tree – Uses minimum bounding polygons designed to accommodate arbitrary shape objects • P-tree(Polyhedral tree) – use minimum bounding polygons instead of MBRs • QR-tree – hybrid access method composed of a Quadtree and a forest of R-trees
  • 30. PR-trees • A provably asymptotically optimal variation of the R-tree • height-balance tree – i.e., all its leaves are at the same level • Query performance – real data • PR-trees perform similar to existing R-tree variants – extreme data(very skewed data) • PR-trees outperform all other variants, due to their guaranteed worst-case performance
  • 31. LR-trees • The LR-tree is an index structure based on the logarithmic dynamization method • Example – base B=2 , capacity c=4 – 11 items
  • 32. (cont.) 12 = 1100 2 11 1011
  • 33. Summary • Evidently, the original R-tree, proposed by Guttman, has influenced all the forthcoming variations of dynamic R-tree structures • The R*-tree followed an engineering approach and evaluated several factors that affect the performance of the R-tree – it is considered the most robust variant and has found numerous applications, in both research and commercial systems
  • 34. (cont.) • The empirical study has shown that the Hilbert R-tree can perform better than the other variants in some cases • PR-tree is the first approach that offers guaranteed worst-case performance and overcomes the degenerated cases when almost the entire tree has to be traversed – Despite its more complex building algorithm, it has to be considered the best variant reported so far
  • 35. English • In this chapter, we are further focusing on the family of R-trees by enlightening the similarities and differences, advantages and disadvantages of the variations in a more exhaustive manner. (P.15) • We presented dynamic versions of the R-tree, where the objects are inserted on a one-by-one basis, as opposed to the case where a special packing technique can be applied to insert an priori known static set of object into the structure by optimizing the storage overhead and retrieval performance.(P.15)
  • 36. (cont.) • As already discussed, the R-tree is based solely on the area minimization of each MBR.(P.18) • The Hilbert R-tree [105] is a hybrid structure based on the R-tree and the B+-tree (P.20) • Instead of splitting a node immediately after its capacity has been exceeded, we try to store some entries in sibling nodes(P.22)
  • 37. (cont.) • Therefore, the best compromise between efficiency and bipartition optimality is the quadratic algorithm.(P.24) • In particular, the objects of an overflowing node are optimally separated in two sets. • The motivation behind the proposed approach is that R-trees, R+-trees, and R*-trees suffer from the storage utilization problem
  • 38. (cont.) • It is worth mentioning that the PR-tree, although a variant that deviates from other existing ones, is the first approach that offers guaranteed worst-case performance and overcomes the degenerated cases when almost the entire tree has to be traversed.(P.34)
  • 39. (cont.) • Therefore, despite its more complex building algorithm, it has to be considered the best variant reported so far.