  Network is a major bottleneck in modern cloud databases that adopt a
storage-disaggregation architecture. Computation pushdown is a promising
solution to tackle this issue, which offloads some computation tasks to the
storage layer to reduce network traffic. Existing cloud OLAP systems statically
decide whether to push down computation during the query optimization phase and
do not consider the storage layer's computational capacity and load. Besides,
there is a lack of a general principle that determines which operators are
amenable for pushdown. Existing systems design and implement pushdown features
empirically, which ends up picking a limited set of pushdown operators
respectively.
  In this paper, we first design Adaptive pushdown as a new mechanism to avoid
throttling the storage-layer computation during pushdown, which pushes the
request back to the computation layer at runtime if the storage-layer
computational resource is insufficient. Moreover, we derive a general principle
to identify pushdown-amenable computational tasks, by summarizing common
patterns of pushdown capabilities in existing systems. We propose two new
pushdown operators, namely, selection bitmap and distributed data shuffle.
Evaluation results on TPC-H show that Adaptive pushdown can achieve up to 1.9x
speedup over both No pushdown and Eager pushdown baselines, and the new
pushdown operators can further accelerate query execution by up to 3.0x.
