我正在学习诸如TokuDB中的分形树索引。我对它用于通过大部分时间写入 CPU 缓存而很少写入速度较慢的 RAM 内存来加快写入速度的策略着迷。但是,分形树索引最终确实必须向 RAM 写入大量数据,然后向磁盘写入大量数据,然后在磁盘上完全写入大量数据。在这里我感到困惑。分形树索引可以有效地做到这一点吗?比 B-tree 在最坏情况下更新磁盘更有效吗?此外,巨大的磁盘重写对该数据的查找时间有什么影响?而且,反之亦然,对该数据进行多次查找对大规模重写的过程有什么影响?
作为回答这个问题的上下文,您应该知道:
- 我在此幻灯片演示中学到的关于分形树索引的所有知识
- 对于旋转中型硬盘的工作原理,我没有一个好的心智模型。
- 当我说“巨型重写”时,基本上发生的事情是你有两个相同长度(大小
2^largeNumber
)的排序数组,你将它们写入一个排序的(大小)数组2^(largeNumber+1)
。