Persistent Cache-oblivious Streaming Indexes

Abstract

In [SPAA2007], Bender et al. define a streaming B-tree (or index) as one that supports updates in amortized o(1) IOs, and present a structure achieving amortized O(( N)/B) IOs and queries in O( N) IOs. We extend their result to the partially-persistent case. For a version v, let Nv be the number of keys accessible at v and N be the total number of updates. We give a data structure using space O(N), supporting updates to a leaf version v with O(( Nv)/B) amortized IOs and answering range queries returning Z elements with O( Nv + Z/B) 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 o(1) IOs and supports efficient range queries.

0

Turn this paper into a lesson

ArcXiv compiles a structured reading guide from this paper's metadata: plain-English importance, contributions, prerequisite concepts, which sections to read first, flashcards, and a quiz. Grounded in the abstract, never invented.

Discussion (0)

Sign in to join the discussion.

Loading comments…