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 I/Os and updates at any accessed version in amortized I/Os, using 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 I/Os, using 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 and out-degree , where every node occupies a constant number of blocks on disk. For a user-specified parameter , we achieve I/O-overhead per access to a field of an ephemeral block and amortized I/O-overhead and block space-overhead per modification to the ephemeral structure.
中文翻译:
完全持久的B树
我们本高效充分持久与块大小的I / O模型B树乙上支持范围搜索吨报道大小的任何访问版本元件Ñ在 I / O和更新的任何版本 摊销的I / O,使用 m个更新后的磁盘块。这改善了Lanka和Mays先前完全持久的B树的查询和更新I / O效率(ACM SIGMOD ICMD 1991)。
为了获得结果,我们介绍了一个临时B树的实现,该实现支持在中搜索和更新 I / O,使用 块,此外,每次更新都会对结构进行最坏情况的恒定数量的修改。在Driscoll等人的节点拆分方法的启发下,我们使用I / O有效的方法对这些B树进行完全持久化以实现完全持久。(JCSS 1989)。有趣的是,该方法具有足够的通用性,可以应用于具有最大插入度的任何基于外部存储器指针的数据结构 和学位 ,其中每个节点在磁盘上占据恒定数量的块。对于用户指定的参数,我们实现 每次访问临时块并摊销的I / O开销 I / O开销和 对临时结构的每次修改都会阻止空间开销。