Persistent Cache-oblivious Streaming Indexes
Andrew Twigg

TL;DR
This paper introduces a new persistent streaming index data structure that supports very efficient updates and range queries in a partially persistent setting, extending previous non-persistent streaming B-trees.
Contribution
It extends the streaming B-tree to the partially-persistent case, supporting updates in o(1) IOs and efficient range queries with linear space complexity.
Findings
Supports updates with O((log N_v)/B) amortized IOs
Answers range queries with O(log N_v + Z/B) IOs on average
First persistent streaming index with these efficiency guarantees
Abstract
In [SPAA2007], Bender et al. define a streaming B-tree (or index) as one that supports updates in amortized IOs, and present a structure achieving amortized IOs and queries in IOs. We extend their result to the partially-persistent case. For a version , let be the number of keys accessible at and be the total number of updates. We give a data structure using space , supporting updates to a leaf version with amortized IOs and answering range queries returning elements with IOs on average (where the average is over all queries covering disjoint key ranges at a given version). This is the first persistent `streaming' index we are aware of, i.e. that supports updates in IOs and supports efficient range queries.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsCaching and Content Delivery · Advanced Data Storage Technologies · Algorithms and Data Compression
