Optimal Column Layout for Hybrid Workloads
基于 HTAP 场景的列布局优化,仍然使用列布局,但是对列做水平分区,一个分区内包含多个 block,每个block 的大小是 CPU cache 的数倍,这样更好利用CPU;每个分区根据是否为边界(0 或 1 表示),输出为一堆的 bit范围,这是一个 NP hard问题,也有相关研究可以解决此问题;工作负载包括:点查询、范围查询、插入、删除、更新;每种场景对应底层 I/O 包括 随机读、随机写、顺序读、顺序写,不同场景对于 block的访问频率也是不同的,论文给出了 10 种统计的直方图;之后收集各种负载的 block 访问情况然后离线分析,再将分析后的结果优化,输出为一堆bit,这样就可以动态调整分区,达到了自适应的效果;从性能分析结果看,可以适用于各种场景,除了读基本不变,其他场景都有大幅度提升,同时吞吐量也保持不变