1 简介
GPORCA是开源项目greenplum的下一代优化器,里面借鉴了Cascades Optimizer方式实现的一套优化器,ORCA实现了Enforcer机制、并行优化、优化退出机制、完整的测试以及对Cost Model不断学习改进框架。下面主要是学习优化框架是如何实现,以及并行优化的逻辑。
2 ORCA优化器主要代码学习
2.1 简单编译
安装cmake
wget https://cmake.org/files/v3.5/cmake-3.5.2.tar.gz
tar -zxvf cmake-3.5.2.tar.gz
cd cmake-3.5.2
./configure --prefix=/yournamedir/cmake
make
make install
export PATH=/yournamedir/cmake/bin:$PATH
如果是mac,直接brew install cmake即可。编译gp-xerces
cd ~
git clone https://github.com/greenplum-db/gp-xerces
cd gp-xerces
mkdir build
cd build
../configure --prefix=/yournamedir/gp-xerces_home
make -j 32
make install
- 编译gporca
cd ~
git clone https://github.com/greenplum-