1 / 12

Split-supporting Index

Split-supporting Index. Algorithm is based on atomic operations and versioning of the items Latching is minimal. Node Split. - exclusive latch between non-local updates. - marks logically deleted items. p14. p14. p3. p4. p5. p14. Node Split. - exclusive latch between non-local updates.

shima
Download Presentation

Split-supporting Index

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. Split-supporting Index • Algorithm is based on atomic operations and versioning of the items • Latching is minimal

  2. Node Split - exclusive latch between non-local updates - marks logically deleted items p14 p14 p3 p4 p5 p14

  3. Node Split - exclusive latch between non-local updates - marks logically deleted items R3 R4 R5 p1 p2 p6 p7 p14 R9 p3 p4 p5 p14

  4. Node Split - exclusive latch between non-local updates - marks logically deleted items R10 p14 R3 R4 R5 R9 p2 p3 p4 p5 p14 p1 p6 p7

  5. Local Updates • Are allowed during splits and merges R3 Secondary index N2 N3 N1 p1 p2 N1 N1’ Nil Nil 0 N1 N1’ Nil Nil 1 N2’ N2 0 R4 N2’ N1’ N3’ p3 p4 p6 p7

  6. Non-Local Updates • Are not allowed to make changes for items which are involved into split • Updates are put into a priority queue and retried later

  7. Merge of the node Merge underflow node with one of the sibling nodes • Sibling node have space for all entries • Sibling node would become overflow after insertion

  8. Sibling node have space for all entries • Sibling and underflow nodes are latched • New empty node is created • Entries form sibling and underflow nodes are copied into the new node • New node is introduced into structure by atomic swap of the pointers

  9. Sibling node would become overflow • Split of the sibling node is performed • Split function accepts all entries from the underflow node instead of one entry • Entries are distributed between two new nodes • Two new nodes are introduced into structure in two atomic operations

  10. Summary of the algorithm Advantages Disadvantages • Local updates are permitted during node splits and merges • Queries can execute concurrently • High complexity due to avoidance of locks • Creation of artificial updates

  11. Related Work • Logical and Physical Versioning in Main Memory Databases [Rastogi et al. 1997] • An Enhanced Concurrency Control Scheme for Multi-dimensional Index Structures [Song et al. 2004] • Main-memory indexing [Šidlauskas et al. 2009] • …

  12. Status of the Project • A paper on presented algorithms • Theoretical foundation of the two ideas

More Related