tera icon indicating copy to clipboard operation
tera copied to clipboard

compaction optimization

Open caijieming-ng opened this issue 9 years ago • 4 comments

TS的compact性能优化,拆分为6个story: 1、添加ts端的性能测试:对接db_bench 2、抽象compact策略接口:简化后续添加不同的compact策略[2] 3、增加多线程compact,验证compact性能效果[3] 4、增加动态调分,验证写放到效果[1.5] 5、增加单个compact流程内的并行度,验证compact性能效果[3] 6、验证总体性能效果[2]

caijieming-ng avatar Jul 11 '16 02:07 caijieming-ng

第一个story主要目的是明确评估方法和当前现状: 现状:ts的表格模型是使用leveldb作为底层的kv引擎,在kv基础上,对key根据schema编码为terakey;tera对leveldb的只有put操作,通过传入compact策略类,在compact中,执行tera定制的插入,删除策略(行删除,cf删除,列多版本删除,最新版本删除,原子加,append等); 基于已有现状的评估方法:由于表格策略从leveldb的kv逻辑分离,而compact性能主要关注持续写入时,对上层写性能影响。因此评测compact性能优化时,能复用db_bench的性能测试方法。

caijieming-ng avatar Jul 19 '16 02:07 caijieming-ng

第二个story只是策略分离,不改变现有效果?

00k avatar Jul 20 '16 03:07 00k

是的,抽象出一个compaction picker类,不同的compact策略有不同的选取方案

caijieming-ng avatar Jul 21 '16 06:07 caijieming-ng

第三次迭代会,执行story [3],多线程compact: 1)额外修改点:level0打分修改,若level0数量较小,分数=level0 文件数/2; 否则分数= sqrt(level0 文件数/2);该分界用户可配;

caijieming-ng avatar Aug 18 '16 11:08 caijieming-ng