当前位置: X-MOL 学术Theor. Comput. Sci. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Fully persistent B-trees
Theoretical Computer Science ( IF 0.9 ) Pub Date : 2020-07-02 , DOI: 10.1016/j.tcs.2020.06.027
Gerth Stølting Brodal , Spyros Sioutas , Konstantinos Tsakalidis , Kostas Tsichlas

We present efficient fully persistent B-trees in the I/O model with block size B that support range searches on t reported elements at any accessed version of size n in O(logBn+t/B) I/Os and updates at any accessed version in O(logBn+log2B) amortized I/Os, using O(m/B) disk blocks after m updates. This improves both the query and update I/O-efficiency of the previous fully persistent B-trees of Lanka and Mays (ACM SIGMOD ICMD 1991).

To achieve the result, we introduce an implementation for ephemeral B-trees that supports searches and updates in O(logBn) I/Os, using O(n/B) blocks, where moreover every update makes a worst-case constant number of modifications to the structure. We make these B-trees fully persistent using an I/O-efficient method for full persistence, inspired by the node-splitting method of Driscoll et al. (JCSS 1989). Interesting in its own right, the method is generic enough to be applied to any external memory pointer-based data structure with maximum in-degree din and out-degree O(B), where every node occupies a constant number of blocks on disk. For a user-specified parameter π=Ω(din), we achieve O(πB+log2π) I/O-overhead per access to a field of an ephemeral block and amortized O(πB+log2π+dinπlog2B) I/O-overhead and O(1/B) block space-overhead per modification to the ephemeral structure.



中文翻译:

完全持久的B树

我们本高效充分持久与块大小的I / O模型B树上支持范围搜索报道大小的任何访问版本元件ÑØ日志ñ+Ť/ I / O和更新的任何版本 Ø日志ñ+日志2 摊销的I / O,使用 Ø/m个更新后的磁盘块。这改善了Lanka和Mays先前完全持久的B树的查询和更新I / O效率(ACM SIGMOD ICMD 1991)。

为了获得结果,我们介绍了一个临时B树的实现,该实现支持在中搜索和更新 Ø日志ñ I / O,使用 Øñ/块,此外,每次更新都会对结构进行最坏情况的恒定数量的修改。在Driscoll等人的节点拆分方法的启发下,我们使用I / O有效的方法对这些B树进行完全持久化以实现完全持久。(JCSS 1989)。有趣的是,该方法具有足够的通用性,可以应用于具有最大插入度的任何基于外部存储器指针的数据结构d一世ñ 和学位 Ø,其中每个节点在磁盘上占据恒定数量的块。对于用户指定的参数π=Ωd一世ñ,我们实现 Øπ+日志2π 每次访问临时块并摊销的I / O开销 Øπ+日志2π+d一世ñπ日志2 I / O开销和 Ø1个/ 对临时结构的每次修改都会阻止空间开销。

更新日期:2020-07-02
down
wechat
bug