ORCA 是开源的 Postgres 和 Greenplum 的优化器,相比于 Greenplum 和 Postgres 内置的优化器,ORCA 在复杂查询以及分区表等场合有非常好的性能提升。这里介绍下如何使 Greenplum 启用 ORCA 优化器,以及如何运行 Greenplum 的测试用例 installcheck-world。
设置开发环境
在开始之前需要装编译和运行的依赖,包括 Greenplum 和 ORCA 的依赖。这里采用的编译环境以 CentOS 7 为例。首先安装系统包,执行的命令如下:
sudo yum -y groupinstall "Development Tools"sudo yum -y install readline-devel zlib-devel curl-devel apr-devel libevent-devel libxml2-devel bzip2-devel python-devel openssl-devel which iproute net-tools perl-Env wgetsudo yum install -y epel-release centos-release-sclsudo yum install -y python-pip python-psutil cmake3sudo yum install -y devtoolset-6-toolchainsudo yum install -y xerces-c-devel
Greenplum 源码保包中的 README.CentOS.bash 有相关的依赖包设置,这里的命令相比 README.CentOS.bash 增加了部分依赖。接下来按装相关的 python 依赖,命令如下:
sudo pip install --upgrade pipsudo pip install --no-cache-dir lockfile paramiko