更新时间:2024-09-25 GMT+08:00

9.1.0.x版本说明

以下描述的Beta特性,表示该功能受限商用,使用时请联系技术支持。

9.1.0.102补丁(2024年9月25日)

该版本为补丁版本,主要修复已知问题。

【升级收编】

  1. 支持9.0.3版本升级到9.1.0系列。

【修复已知问题】

  1. 存算分离版本支持alter database xxx rename to yyy。
  2. 修复存算分离表 \d+ 空间size显示错误问题。
  3. 修复备份恢复之后,异步排序未运行的问题。
  4. 修复bitmap index列删除后,无法使用Create Table Like语法的问题。
  5. 修复Turbo引擎在Group By场景下,hash算法冲突导致的性能回退问题。
  6. 调度器对于失败任务的处理行为和8.3.0版本保持一致。
  7. 修复故障场景下,pg_stat_object空间膨胀问题。
  8. 修复8.3.0升级到9.1.0,DataArts Studio下发的Vacuum Full作业报错问题。
  9. 修复JSON字段计算CPU和内存消耗高问题。

【功能增强】

  1. ORC外表支持zstd压缩格式。
  2. GIS新增支持st_asmvtgeom/st_asmvt/st_squaregrid函数。

9.1.0.100版本(2024年8月12日)

【弹性架构

  1. 架构升级:基于华为云对象存储服务OBS,推出存算分离架构3.0,计算、存储分层弹性,存储按需收费,降本增效;计算支持多VW(Virtual Warehouse,逻辑集群,以下简称VW)部署,业务隔离性更好,解决业务间的资源争抢问题。
  2. 推出弹性VW特性,弹性VW完全无状态,支持读写加速,灵活应对并发处理能力不足、业务波峰波谷不均衡、数据加载和数据分析资源争抢等问题,详情参见弹性增删逻辑集群
  3. 增删DN节点,支持弹性扩容和经典扩容,弹性扩容不会对OBS上的数据进行重分布,经典扩容会重分布所有数据,系统会根据bucket总数和DN数目,自动决定采用何种扩容方式。
  4. 存算分离架构(DWS 3.0)通过磁盘缓存和IO异步读写提升性能,在磁盘缓存全命中时,持平存算一体架构(DWS 2.0)。
图1 存算分离架构

【实时处理

  1. 推出向量化Turbo加速引擎,tpch 1000x性能翻倍。
  2. 推出hstore升级版本hstore_opt,压缩比更高,配合Turbo引擎,空间比列存节省40%。
  3. 支持Flink直连DN入库,批量入库场景,性能线性提升,详情参见Flink实时消费Binlog
  4. 支持Binlog(Beta特性),配合Flink可实现增量计算,详情参见订阅实时数仓Binlog
  5. 全列更新性能显著提升,资源消耗显著下降。
  6. 支持物化视图(Beta特性),详情参见CREATE MATERIALIZED VIEW
  7. Varchar/text列支持bitmap index,bloom filter,提升粗过滤效果,需建表时显式指定,详情参见CREATE TABLE
  8. 支持runtime filter特性,提升topK和join场景性能,详情参见GUC参数runtime_filter_type、runtime_filter_ratiox
  9. 支持异步排序,提升PCK列的min-max粗过滤效果。
  10. 大幅提升IN场景的性能。
  11. Analyze支持分区统计信息增量合并(分区表只收集变化分区的统计信息,复用历史分区统计信息),支持只采集谓词列的统计信息,提升Analyze执行效率,详情参见:
  12. 支持大宽表,最大支持5000列。
  13. Create index/reindex支持并行。
  14. 新增函数pgxc_get_cstore_dirty_ratio,用于获取目标表的CU、Delta以及CUDesc的脏页率(仅支持hstore_opt)

【融合统一

  1. 一键湖仓:通过create external schema直接对接HiveMetaStore元数据,避免复杂的create foreign table操作,降低维护代价,详情参见跨集群访问HiveMetaStore元数据
  2. 支持parquet/orc格式读写,支持覆盖写、追加写,支持多级分区读写。
  3. 支持hudi格式读。
  4. 外表Analyze支持并行执行,显著提升统计信息收集的精度和速度;外表不具备AutoAnalyze能力,建议导入数据之后手动做Analyze收集统计信息。
  5. 外表支持使用本地disk cache进行读加速。
  6. 外表支持in/not in等谓词下推,增强分区剪枝能力。
  7. 外表支持复杂类型map/struct/array,支持bytea/blob类型。
  8. 外表支持数据脱敏和行级访问控制功能。
  9. GDS导出外表支持容错参数compatible_illegal_char
  10. 新增orc/parquet文件解析函数read_foreign_table_file,便于问题定界。

【高可用

  1. 极大提升unlogged table故障恢复速度。
  2. 备份集支持跨版本恢复,细粒度表级恢复支持恢复低版本集群(8.1.3及以后版本)生成的备份集。
  3. 细粒度表级恢复支持恢复至异构集群(节点数、DN数、CN数均可不一致)。
  4. 细粒度恢复支持权限、注释:集群级物理细粒度备份,schema级物理细粒度备份新增支持备份权限与注释,表级恢复以及schema级灾难恢复支持恢复权限与注释。

【空间优化

  1. 列存支持jsonb/json类型,历史版本Json类型只能创建为行存表,新版本可以创建为列存表。
  2. 冷热表支持分区级index unusable,对于冷分区通过该特性节省本地索引空间。
  3. 推出hstore升级版本hstore_opt,压缩比更高,配合Turbo引擎,空间比列存节省40%。

【运维&稳定性提升

  1. 查询过滤器增强,支持按SQL特征、类型、来源、处理数据量进行拦截,详情参见:CREATE BLOCK RULE
  2. 空闲连接自动回收,及时释放内存资源,详情参见GUC参数syscache_clean_policy用于设置DN空闲连接内存及数量清理策略
  3. 新增函数gs_switch_respool,支持动态切换queryid/threadid使用的资源池,可以动态调整SQL使用的资源,详情参见gs_switch_respool
  4. 新增视图pg_sequences显示当前用户具有访问权限的序列的属性信息。
  5. 新增函数查询指定共享内存下内存申请的所有chunk信息详情参见:
  6. 新增函数pgxc_query_resource_info显示指定query_id对应的SQL语句在所有DN上的资源使用信息详情参见pgxc_query_resource_info
  7. 新增函数pgxc_stat_get_last_data_access_timestamp返回目标表最近一次的访问时间,方便业务清理长期不访问的表,详情参见pgxc_stat_get_last_data_access_timestamp
  8. SQL Hint支持更多的Hint设置可以更准确的控制执行计划的生成详情参见配置参数的hint
  9. TopSQL增加语法解析和磁盘缓存相关的性能字段方便定位性能问题详情参见实时TopSQL
  10. 预置数据脱敏管理员,具有创建、修改、删除脱敏策略的权限。
  11. 审计日志支持记录级联删除的对象
  12. 审计日志支持转储到OBS对象存储。

【生态兼容

  1. create schema/create index/create sequence 支持 if not exists。
  2. Merge into支持指定分区详情见MERGE INTO
  3. TD兼容模式下支持比较字符串忽略尾部空格
  4. 支持通过GUC参数配置控制varchar(n)的n是否自动转换为nvarchar2
  5. PostGIS 升级到3.2.2版本

【规格&约束

  1. 最大支持256个VW,每个VW 1024 DN,建议VW不超过32个,每个VW不超过128 DN。
  2. OBS存算分离表不支持容灾,只支持全量备份恢复。

【行为变更】

  1. 不支持全库vacuum full/analyze/cluster,语法不会报错,但实际不会执行,只支持单表vacuum full/analyze/cluster。
  2. OBS存算分离表,不支持delta表,enable_delta=on不会报错,但是delta表不生效。如果有delta表诉求,可以使用hstore-opt表替代。
  3. 默认开启numa绑核,可动态关闭(enable_numa_bind)。
  4. 8.3.0 Turbo表中的numeric(38)升级到910版本会修改为numeric(39),显示宽度不受影响,版本回退也不会回滚。
  5. 由于支持存算分离,DWS 3.0默认EVS存储空间比DWS 2.0少一半(客户买1T EVS存储,3.0是主备各500G,2.0是主备各1T),如果是DWS 2.0迁移到DWS 3.0,对EVS存储仍然有强诉求,那么DWS 3.0买EVS存储时要买DWS 2.0 2倍的空间。