并行执行或者分布式执行一条 SQL,这条 SQL 会被拆成多个子计划(Segment / DFO),这些子计划会被陆续调度到多个节点上执行。

每个子计划都会做一些共同的事情:

  1. 用相同的日志级别打印日志
  2. 基于开关决定是否做 performance log
  3. 读取 session 参数

等等。所以,在设计一个分布式系统时,一定要设计好一个结构,专门用于将一组参数传来传去。

这个结构如果能非常方便地添加新参数,那就更好了。

为什么设计之初就应该把这个事情放在心上呢?因为如果没有早点设计,那么最后这么一个结构会分散嵌套到多个结构中,可管理性大大降低。