TokuDBにあるようなフラクタルツリーインデックスについて学んでいます。私は、ほとんどの場合CPUキャッシュに書き込み、低速のRAMメモリに書き出すことはめったにないため、書き込みを高速化するために使用する戦略に魅了されています。ただし、フラクタルツリーインデックスは、最終的にRAMへの大きな書き込みを実行し、次にディスクへの巨大な書き込みを実行し、次にディスク上で完全に巨大な書き込みを実行する必要があります。私が混乱するのはここです。フラクタルツリーインデックスはこれを効率的に行うことができますか?たとえば、Bツリーが最悪のシナリオの更新でディスクを更新できるよりも効率的ですか?また、ディスク上の巨大な書き換えは、そのデータのルックアップ時間にどのような影響を及ぼしますか?また、その逆に、そのデータに対していくつかのルックアップを実行すると、巨大な書き換えのプロセスにどのような影響がありますか?
これに答えるためのコンテキストとして、次のことを知っておく必要があります。
- このスライドプレゼンテーションで学んだフラクタルツリーインデックスについて学んだことはすべて
- 回転する中型ハードドライブがどのように機能するかについての良いメンタルモデルがありません。
- 「ジャイアントリライト」と言うと、基本的には、同じ長さ(サイズ)の2つの並べ替えられた配列があり、
2^largeNumber
それらを並べ替えられた1つの配列(サイズ)に書き込むということです2^(largeNumber+1)
。