1 / 14

Fully Persistent B-Trees Workshop Report: Efficient Data Structures in Slovenia

Explore latest advancements like Fully Persistent B-Trees, Dynamic Binary Search Tree, Red-Black Trees, and more from the 4th Workshop on Massive Data Algorithmics in Ljubljana, Slovenia on September 13, 2012. Delve into techniques for maintaining order, achieving full persistence, and improving search trees' efficiency. Discover complex structures like Balanced Binary Search Trees and Incremental B-Trees, with insights from pioneering works by Bayer and Driscoll et al. Gain knowledge on IO models, fully persistent search trees, node splitting, and incremental updates, vital for modern data systems. Learn about efficient node splitting techniques and useful queries for enhanced data management.

elden
Télécharger la présentation

Fully Persistent B-Trees Workshop Report: Efficient Data Structures in Slovenia

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. Fully Persistent B-Trees 4thWorkshop on Massive Data Algorithmics, Ljubljana, Slovenia, September 13, 2012

  2. BinaryTree 3 8 2 1 6 9 4 7

  3. BinarySearchTree 3 8 2 1 6 9 4 7

  4. DynamicBinarySearch Tree 3 8 2 1 6 9 4 7 5

  5. BalancedBinarySearchTree 3 8 2 Height O(log n) 1 6 9 4 7

  6. Report(2,7) 3 8 2 Height O(log n) 1 6 9 4 7 Time O(log n + t)

  7. Red-BlackTree 3 8 2 1 6 9 4 7 5 Bayer 1972

  8. Red-BlackTree - rebalancing restructure 6 3 6 O(1) 3 8 8 3 2 4 2 9 7 1 6 9 1 4 7 recolor O(log n) 5 5 Bayer 1972

  9. Partially Persistent Ephemeral Fully Red-BlackTree Contributions of Driscoll et al. Red-blacktreeswith O(1) modifications per update (displacementpaths) General technique to make pointer based data structuresfullypersistent Version tree 3 3 3 3 3 3 3 3 3 3 2 8 2 8 2 8 2 8 2 2 2 8 8 8 2 8 2 6 6 6 6 6 9 6 9 1 1 1 6 6 9 1 6 9 3 3 3 8 8 8 7 7 4 7 2 2 2 4 4 4 7 7 7 9 9 9 queryonly 1 1 1 5 5 5 Expensiveto recordupdatesperformingmanymodifications Driscoll, Sarnak, Sleator, Tarjan 1986

  10. IO model RAM model FullyPersistentSearchTrees Disk Memory B Memory CPU CPU BinarySearchTrees Complexity = # block transfers Complexity = # instructions B-Trees Red-BlackTrees Bayer 1972 Bayer 1972 Maintaining Order in a List Dietz, Sleator 1987 IncrementalB-Trees Red-BlackTrees w. DisplacementPaths Driscoll et al. 1986 IO EfficientNode Splitting FullPersistence: Node splitting Driscoll et al. 1986 FullyPersistent B-Trees FullyPersistentBalancedBinarySearchTrees Driscoll et al. 1986

  11. n = # elements in B-tree t = output size m = # versions / updates B = block size Results IncrementalB-treewith range searches in O(logBn + t/B)IOs, updates in O(logB n) IOswith O(1) key and pointer modifications, O(n/B) space Anyemphemeral pointer based IO data structurewithO(1) indegreecanbe made fullypersistentwith O(1) overhead per blockaccess and O(log2 B) IOs amortized overhead per field modification FullypersistentB-treewithupdates in O(logBn + log2 B)IOsamortized, range searches in O(logB n + t/B) IOs, O(m/B) space Partial Full

  12. IncrementalSearchTreeUpdates degree [B,2B] height O(logB n) B-Tree x IncrementalB-tree Range searches visit O(logB n + t/B) nodes. Updates... visit O(logB n) nodes modify O(1) pointers and keys creates O(1) new empty nodes w w Cascadedrecoloring Cascaded splitting x w x x x ... ... ... ... y y Displacementpathwx flip all colorsonpath + all red siblings (flag w with x) x w w w Overflow flag (pathwx) Counts twice Ready to overflow Splitting pair Driscoll et al. 1986

  13. Fullpersistence : Node Splitting Technique Driscoll, Sarnak, Sleator, Tarjan 1986 1 4 3 2 1 4 7 5 3 6 2 Fat node Queries = binarysearchamong versions Node splitting (# ekstra fields≥2∙indegree) increasing version ... in the IO model O(B) fields & updates in a node local version list LVL of all version ids in block each in-pointer spans O(1) verions in LVL Version list (ordermaintenance data structure) preordertraversal 7 5 6 Version tree (numbers = version ids) Dietz, Sleator 1987 • Updates (1,x) (6,y) (7,z) [5,3[ BottleneckInsert5 in ancestor(s) LVL lists usingbinarysearch in the LVL [4,3[ [4,5[ [0,5[ [5,[ [0,[ split version 5

  14. Main result FullypersistentB-treewithupdates in O(logBn + log2 B)IOs, searches in O(logB n + t/B) IOs, usingspace O(m/B) ? ThankYou

More Related