了解更多Greenplum技术干货,欢迎访问Greenplum中文社区网站
Greenplum大数据分析平台 6版本 已经于2019年9月4号在 Greenplum 用户大会上正式发布了,Greenplum 5 已经进入稳定期和维护期,在不久的将来,Greenplum 4 将逐渐结束生命周期。同时,从 5版本,Greenplum 持续对 PostgreSQL 内核进行升级,新的PostgreSQL内核将带来更多的功能和性能的体验。因此从用户长期使用和维护Greenplum的角度来说,升级是不可避免的。
在本文中,我们分两个部分来介绍 Greenplum 4 升级到 Greenplum 5 的经验分享:
- Greenplum 5 相对于 Greenplum 4 的主要特性增强
- Greenplum 4 到 Greenplum 5 版本升级过程中可能遇到的问题以及如何解决
一、Greenplum 5相对于Greenplum 4的主要特性增强
- ORCA默认优化器
- 转义符
- Text类型隐式转换
- 外部表错误记录
- 数据类型变化
- 功能增强
1. ORCA成为Greenplum 5的默认优化器
在Greenplum 5中 ORCA 成为默认的优化器。ORCA是Pivotal历经多年研发的新一代查询优化器,在多表关联,复杂分区表,复杂查询等场景更有优势。经用户生产验证,ORCA开启的情况下,查询性能有显著的提升。当然,目前ORCA并不能完全替代legacy优化器,SQL的复杂情况是各种各样的,在少数场景,可能legacy优化器会表现的更好,有时我们需要通过设置参数显式的在SQL中关闭ORCA,就像这样:
set optimizer to off;
当然,您也可以把这样的设置包在一个function中,也可以在View中调用这个function,这样都可以使得设置在SQL中生效。
2. 转义符
关于转义符,在Greenplum 5之前,字符串内的反斜线[\]缺省被作为转义符,而从Gree