1 / 26

K-D-B Tree

K-D-B Tree. Multidimensional Index. Characteristics. Multi-way branch Height-balanced tree Repeatedly divide area of the domain into disjoint sub-area A node in a tree corresponds to a (set of consecutive) disk page(s). Example of Data Records.

sandra_john
Télécharger la présentation

K-D-B Tree

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. K-D-B Tree Multidimensional Index K-D-B Tree

  2. Characteristics • Multi-way branch • Height-balanced tree • Repeatedly divide area of the domain into disjoint sub-area • A node in a tree corresponds to a (set of consecutive) disk page(s) K-D-B Tree

  3. Example of Data Records Table (stdntID, courseID, grade, year, smstr) Table (accID, branchID, saving, name, addr) Table (custID, age, gender, occupation, salary, children, promotion, since) K-D-B Tree

  4. Nodes = Pages • Region pages • Contain a set of <region, ptr. to page> • Internal nodes • Point pages • Contain a set of <point, ptr. to data record> • Leaf nodes K-D-B Tree

  5. Xmax Xmax Xmin Xmin Ymax Ymax Ymin Ymin Region Pages … Region PAGE PAGE The branching factor is determined by the page size and the size of each entry. K-D-B Tree

  6. Point Pages … X Y X Y X Y DATA RECORD DATA RECORD DATA RECORD POINT The branching factor of a point page is usually larger than that of a region page. K-D-B Tree

  7. Example Point page Point page Point page Point page K-D-B Tree

  8. Search Point query Point page Point page Point page Point page K-D-B Tree

  9. Insert Insert a point here and the point page overflows. K-D-B Tree

  10. Split • Split a region r with page id p along xi If r is on the right/page of xi then put <r, p> in the right/left page. Otherwise; For each children pcof p , split pc along xi Split r along xi into rleft and rright. Create 2 new pages with page id pleft and pright. Move children of p in the left region into pleft and children in the right region into pright. Return <rleft, pleft> and <rright, pright> . K-D-B Tree

  11. Split: Example The page overflows, and is splitted. This region is also splitted. This region is splitted. K-D-B Tree

  12. Split: Example The region page is splitted. The point page is also splitted. Create a new region page. Children pages are transferred. K-D-B Tree

  13. How to find split axis • Cyclic: x -> y -> x -> y -> … • Priority: x -> x -> y -> x -> x -> y -> … • Possible one K-D-B Tree

  14. Insert • Insert a record with point a and location l in a tree with root r If r is NIL, then create a point page p and insert the record with <a,l> in p and return p. Otherwise; Search for a in the tree with root r until a point page, say p, is reached. Insert the record in the point page p. K-D-B Tree

  15. Insert (cont’d) • Insert a record with point a and location l in a tree with root r If the point page p is overflowed, then find an appropriate axis to split p into pleft and pright. If p is not the root, then change to p and pleft, and insert pright into the parent of p. If p is the root, then create a new root node with two children of pleft and pright. K-D-B Tree

  16. Insert: Example Search for the given point until the point page is found. Insert here and split point page if overflows. Divide region. K-D-B Tree

  17. Insert: Example Parent page overflows, then split the page. This region is splitted. K-D-B Tree

  18. Insert: Example The point page is splitted. The region page is splitted. K-D-B Tree

  19. Insert: Example Insert the new region page in its parent. The root node is overflowed, and then splitted. K-D-B Tree

  20. Insert: Example Create the new root node K-D-B Tree

  21. Delete • Simple, if storage utilization is ignored. • Otherwise, an underfull page should be merged with another page. • When 2 pages are merged, the region of the new page must be a valid region. • A number of regions are joinable if their union is also a region. K-D-B Tree

  22. Joinable Regions K-D-B Tree

  23. Unjoinable Regions K-D-B Tree

  24. Delete (cont’d) • If a page p is underfull, merge sibling pages of p whose regions are joinable. • If the newly-created page is overflowed, then split the page. K-D-B Tree

  25. Further Discussion K-D-B Tree

  26. Axis Cyclic Priority Shape ? Value Area Number of data points Ratio ? Random ? Splitting Criteria Combine the two decisions ? K-D-B Tree

More Related