结论先行:
- B-tree索引必须至少写两次数据:一次是预写日志,一次写入树的页本身(还可能发生页分裂)。即使只有几个字节更改,也必须承受写整个页的开销。一些存储引擎甚至覆盖相同的页两次,以避免在电源故障的情况下出现部分更新页。
- LSM能够比B-tree有更高的写入吞吐量,部分原因是它们有时候具有较低的写放大(尽管这取决于存储引擎的配置和工作负载),另外部分原因是它们顺序写入SSTable,而不必重写多个页。这种差异对于磁盘驱动十分重要,因为顺序写比随机写快得多。
分析待补充
结论先行:
分析待补充