摘要:
mysql列存储引擎-聚合运算中间结果缓存磁盘文件以避免OOM-需求分析
关联ISSUE: https://github.com/stoneatom/stonedb/issues/21
需求分析ISSUE: https://github.com/stoneatom/stonedb/issues/949
上下文说明:
当前聚合运算的结果都缓存在了内存的HASH中, 一旦数据量超过RAM, 则发生OOM。
考虑在数据量超过RAM时, 转为磁盘文件存储, 以避免OOM
功能需求:
一. 聚合运算的HASH结果缓存在磁盘文件, 并正确参与运算
- 当中间结果超过RAM时
性能需求:
一. 缓存文件大小与原始数据内容的压缩比, 占用磁盘空间与内存的比例
- 影响压缩算法
二. 磁盘缓存文件的写入速度和读取速度
- 标准磁盘硬件
- 影响聚合运算的速度, 影响对磁盘缓存文件的写入和读取规则
三. 对聚合运算的的性能影响
开发周期:
TODO: