我正在学习分形树索引,如在TokuDB中发现的。我对它所采用的策略很感兴趣,这种策略主要是通过将大部分时间写入CPU缓存,并且很少写入较慢的RAM内存,从而使写入速度更快。然而,分形树索引最终必须做大写入RAM,然后巨人写到磁盘,然后完全写在磁盘上。就在这里,我感到困惑。分形树索引能有效地做到这一点吗?比如说,比B树在最坏情况下更新磁盘更有效?另外,一个巨大的磁盘上重写对那些数据的查找时间有什么影响?反之亦然,对这些数据进行多次查找对巨大重写的过程有什么影响呢?
作为回答这一问题的上下文,您应该知道:
2^largeNumber)的排序数组,并将它们写入一个排序的数组(大小为2^(largeNumber+1))。发布于 2012-09-14 02:07:55
我建议你在http://www.youtube.com/watch?v=88NaRUdoWZM看我的视频,这可能会让你更好地理解分形树索引的工作原理。当索引不适合主存时,分形树索引能够缓冲大量消息,当缓冲区溢出时,这些消息会缓慢地向下推下去。当它们最终到达一个叶节点时,只有一个IO来检索叶子并应用所有的消息。分形树索引所做的写IO要少得多,因为它们在单个IO中聚合了许多操作,并且写操作被高度压缩。由于读取高度压缩的数据,读取IO也大大减少。
我不确定这是否完全回答了你的问题,但希望它能帮上忙。
https://stackoverflow.com/questions/12291959
复制相似问题