在现代数据库系统中,执行引擎在数据库体系结构中起着承上启下的作用,与查询优化器和存储引擎共同组成了数据库的三大模块。在整个查询过程中,查询执行往往需要通过数据读取、过滤、排序、聚合等操作,才能提交给执行引擎进行下一步查询,这几个步骤的设计是否合理直接影响到查询的性能及资源的利用率。不同的执行模型在数据处理、查询优化和并发控制等方面存在较大差异,因此,一个合适的执行模型对于提高查询效率和系统性能至关重要。
作为典型的 MPP 数据库,Apache Doris 在早期版本使用火山模型作为查询执行模型(一种简单易用、灵活性高的执行模型,但在单机多核的场景下,存在一些问题需要进一步解决和优化),为了解决过去版本所存在的问题,Apache Doris 自 2.0 版本起引入了 Pipeline 执行模型以替换过去的火山模型,并在 2.1 版本对 Pipeline 执行模型进行了进一步的升级。
欢迎点击原文查看详情:
从 Volcano 火山模型到 Pipeline 执行模型,Apache Doris 执行模型的迭代