适配SSD介质的存储引擎的GC的思考

为了充分发挥SSD的特性,和它适配最好的引擎就是一路append 引擎。这样的追加写可以便于SSD内部一次能够找到多块连续的物理page, 减小内部逻辑地址到物理地址转换索引的更新。但于此同时,相对平坦式地存储引擎,会比较快写到文件末尾。这就对GC的设计提出来比较高的要求。 下面是我的总结的几点建议。app

对覆盖写的数据部分尽快trim

在SSD内部trim 是一个比较轻的操做,但trim的越多,内部空闲Page就会增长越多,于是有利于新来的写请求更快找到空闲块。所以它收益很明显。 比较简单的GC策略是,周期性第统计哪些数据段须要删除,而后一块儿删除。显然这种方法和在覆盖写更新索引的时候
就删去数据相比,显得慢很多。ide

根据系统负载状况调整GC频率

整体原则以下:
用户IO负载越大,GC作得越慢,避免对总体带宽带来太多影响;
用户IO负载越小,GC作得越频繁,充分利用SSD的闲时带宽。;设计

相关文章
相关标签/搜索