上篇文章中关于RM-Index的设计以及与B-Tree索引的对比测试结果,主要针对只读场景的内存型数据库系统,也可以应用于更新频率较低的数据仓库系统中,对于Bigtable而言,每一个SSTable都是当内存中的数据积累了一定量之后才生成的,也可应用RM-Index的思路来优化现有的B-Tree索引。
数据更新包括两种情形:
- appends 在现有数据集合的尾端进行appends
- inserts 在现有数据集合的中间进行inserts
通常,对于inserts场景,新的数据应该基本遵循已有的数据分布特点的,因此,原来的模型不需要重新进行训练。而对于appends场景