0%

DBMS-Execution

阅读更多

1 Concepts

1.1 Materialize

物化,在不同的场景下有不同的含义:

  • 需要等到所有数据都到达后,才能进行处理。在这种定义下,Agg算子、Sort算子、Join算子等等都属于物化算子
  • 数据在处理的过程中,脱离寄存器,比如写到另一个内存区域,或者落盘,可以算作物化。在这种定义下,Project算子中的表达式计算也属于物化

2 Runtime Filter

3 优化点

  1. IO线程和执行线程速率的匹配。IO线程产生chunk的速率,和算子消费chunk的速率不对等。在push模型下,会增加调度次数,每次调度只处理了几个chunk
  2. 分区倾斜的场景下排序如何优化
  3. MemTracker中原子变量更新存在多线程竞争,频繁得更新会导致性能急剧下降。可以通过攒批的方式,将实时写入改成批次写入来降低竞争的概率
  4. SharedScan for data skew scenario
  5. Group Execution