功能发布记录
本文为您介绍Hologres产品功能的发布信息。
Hologres V2.0版本(2023年4月)
2023年04月正式发布Hologres V2.0版本,新增功能如下:
引擎能力增强
新增Runtime Filter,优化join过程中的过滤行为,减少数据扫描量,降低IO开销,典型多表关联场景中,有20%以上性能提升,详情请参见Runtime Filter。
查询引擎新增Lazy Create Fragment Instance机制,对于大表查询(常见预览场景)limit N场景,降低查询开销,显著改善查询性能。
全面优化执行计划展示格式(Explain & Explain Analyze),改善可阅读性,简化SQL性能优化手段,详情请参见Explain和Explain Analyze。
优化分布式事务能力,新增支持多条DML混合事务场景,详情请参见SQL事务能力。
支持Drop Column,详情请参见删除列(Beta)。
支持CREATE TABLE AS语法,简化表结构迭代优化场景,详情请参见CREATE TABLE AS。
支持流式COPY,无需攒批,写入吞吐更高,详情请参见COPY。
支持在JSONB列式存储优化中设置Bitmap索引,加速等值过滤场景,详情请参见列式JSONB。
支持将DATE类型设为主键及分区表分区键,详情请参见CREATE PARTITION TABLE,优化分区剪裁,当分区字段IN Array的长度超过阈值(默认100)同样支持分区裁剪。
更多引擎内部优化:
存储引擎优化Tablet Lazy Open机制(主从实例均支持):超过24小时无访问的表自动关闭内存开销,当打开表的数据量超过阈值时基于LRU策略动态选取对应Tablet进行关闭,降低表多场景下的常驻内存开销。
存储引擎优化Schema存储管理机制,统一通过Meta Tablet存储管理,降低表多、Shard多场景下Schema常驻内存开销,降低资源开销。
存储引擎优化快速恢复能力,支持在部分表常规恢复有问题时以修复模式启动快速恢复。元数据管理默认支持逻辑恢复能力,在分区数多的场景下有效缩短恢复时间,在数万分区场景下,有5倍以上的提速恢复效果。
函数能力增强:
支持更多函数运行在HQE,提升函数性能,详情请参见函数功能发布记录
重构Table Function函数支持框架,支持generate_series(INT、BIGINT、NUMERIC)运行在HQE。
重构PQE函数支持框架,支持left、right、text::timestamp、timestamp::text运行在HQE。
新增数组函数,支持array_max、array_min、array_contains、array_except、array_distinct、array_union函数,详情请参见数组函数。
新增聚合函数max_by与min_by,简化窗口类排序操作,详情请参见MAX_BY与MIN_BY。
运维&稳定性改善
在pg_stat_activity基础上,推出hg_stat_activity,兼容原有用法,同时极大丰富运行时诊断信息,增加执行阶段,执行引擎类别,资源使用,运行时锁等信息,详情请参见查询hg_stat_activity视图信息。
完善Shard级Replica能力完成,支持单实例内高可用及负载均衡扩吞吐场景,可容忍部分机器故障及热点不均衡问题,详情请参见单实例Shard级多副本。
重构Auto Analyze能力,采用分布式Auto Analyze,支持外表Auto Analyze,支持湖仓加速集群Auto Analyze,支持分区表增量Auto Analyze,解决超大表,超宽列Analyze失败等问题,显著减少表缺少统计信息场景,执行计划更稳定,性能消耗更低,更稳定。
优化存储加密配置,支持灵活的单表加密配置,详情请参见表级别存储加密设置。
优化数据血缘机制,支持在DataWorks中对MaxCompute和Hologres跨引擎血缘分析,支持CTE等表达式的血缘解析,详情请参见数据血缘(Beta)。
新增管控OpenAPI,灵活控制实例生命周期,详情请参见API概览。
生态拓展
升级针对MaxCompute外表的查询加速引擎,改善兼容性与稳定性。
湖仓加速场景中,在集成数据湖DLF元数据管理下,支持使用DLF数据目录(Multi-Catalog)做元数据隔离,方便在测试环境、开发环境、跨部门集群之间做元数据隔离,详情请参见OSS数据湖加速。
湖仓加速场景中,支持加速存储于OSS-HDFS(又名JindoFS)上的数据,可以更好地满足大数据Hadoop生态和AI等领域的数据湖计算场景,详情请参见基于OSS-HDFS构建数据湖。
新增ClickHouse兼容函数,简化数据和作业迁移场景,详情请参见迁移ClickHouse至Hologres。
行为变更
列存不再支持Segment存储格式,有Segment格式的实例暂不支持升级到V2.0及以上版本,可以通过工具函数hg_convert_segment_orc完成批量格式转换,详情请参见更改列存表的数据存储格式。
为避免误用Table Group造成资源浪费,从V2.0开始限制单Table Group及实例级别总Shard数上限,详情请参见Table Group与Shard Count操作指南。
DataHub写入不再支持SDK(遗留)模式,全面转为JDBC模式,新模式更稳定,支持数据类型更丰富。
默认装载Binlog扩展,JDBC消费时,无需手动创建相关扩展。通过JDBC消费Binlog,WAL Sender数量配额默认增加10倍,从200 Slot/32C扩大至2000 Slot/32C,完成Beta阶段,生产可用,详情请参见通过JDBC消费Hologres Binlog。
更多行为变更,参考默认行为变更说明
Hologres V1.3版本(2022年7月)
2022年07月正式发布Hologres V1.3版本,新增功能具体如下:
引擎能力增强
支持实时物化视图,提升实时聚合场景查询效率(Beta),详情请参见实时物化视图(Beta)。
JSONB存储优化,通过采用列式存储优化,显著提高查询统计的效率,提高数据压缩效率,详情请参见JSON和JSONB类型。
支持分区表动态分区管理,支持自动创建与删除分区子表,详情请参见CREATE PARTITION TABLE。
新增UNIQ精确去重函数,显著提高去重计算效率,优化多Count Distinct场景,节省内存消耗,详情请参见优化内部表的性能。
引擎优化。
支持符合FixedPlan情况的Insert语句直接写入分区表父表,详情请参见INSERT和Fixed Plan加速SQL执行。
支持聚合表达式过滤能力,支持
string_agg()
和array_agg()
过滤,详情请参见类型转换函数。支持RowType,支持
row()
、row_to_json()
等函数,详情请参见类型转换函数。支持修改表所在的Schema,详情请参见ALTER TABLE。
支持CTE Reuse算子,提升
with
表达式运算效率,详情请参见优化内部表的性能。
支持读取MaxCompute三层模型(project.schema.table),详情请参见CREATE FOREIGN TABLE和IMPORT FOREIGN SCHEMA。
支持读写MaxCompute Transactional类型表,支持读取MaxCompute Schema Evolution状态表(在MaxCompute侧执行过删除列、修改列顺序,修改列类型操作的表),支持Array、Date类型回写 ,详情请参见通过创建外部表加速查询MaxCompute数据和通过SQL导出数据至MaxCompute。
运维能力和稳定性改善
支持自助配置共享存储从实例,优化弹性和高可用 ,详情请参见多实例读写分离高可用部署(共享存储)。
新增元仓表table_info,提升数据治理能力,详情请参见表统计信息查看与分析。
持续内存优化,减小元数据内存占用。
生态拓展
生产级支持PostGIS扩展能力 ,详情请参见PostGIS地理信息分析。
支持Oracle扩展包,新增众多兼容函数,详情请参见Oracle兼容函数。
支持通过DLF读取Hudi、Delta格式外部表,支持通过DLF写入CSV、Parquet、SequenceFile、ORC格式数据至OSS外部表,详情请参见OSS数据湖加速。
改善BI兼容性,在Tableau兼容性测试中(TDVT)通过率提升至
99%+
。
行为变更
行为变更请参见默认行为变更说明。
Hologres V1.1版本(2021年10月)
2021年10月正式发布Hologres V1.1版本,新增功能具体如下:
运维能力改善
新增资源组隔离能力(Beta),通过设计多个资源组,实现实例内部不同用户的计算资源线程级负载隔离,可以更好地支撑多用户、多场景的使用方式。详情请参见单实例计算资源隔离(Beta)。
支持Hologres实例在线热升级,升级期间,读(查询)数据不受影响,升级版本时可以搜索(钉钉群号:32314975)加入实时数仓Hologres交流群申请使用热升级。
引擎能力增强
支持将表设计为行列共存结构,一份数据同时支持点查、OLAP多种查询场景,详情请参见建表概述。
支持JDBC实时消费Hologres Binlog(Beta),详情请参见通过JDBC消费Hologres Binlog。
支持Hologres Binlog按需启用,配置动态修改,详情请参见订阅Hologres Binlog。
支持重命名列名称,详情请参见ALTER TABLE。
新增JSONB索引(Beta),加速JSON类型数据的查询检索。详情请参见JSON和JSONB类型。
优化内存中元数据管理机制,增加元数据缓存与压缩,更有效率的管理内存。
外表能力优化
支持通过DLF读取 CSV、Parquet、SequenceFile、ORC格式的OSS数据。详情请参见OSS数据湖加速。
支持Hologres跨库查询,支持Hologres多实例联邦查询。详情请参见跨库查询(Beta)。
安全增强
支持Hologres内部表数据存储加密(Beta),提升数据访问安全能力,详情请参见数据存储加密。
支持读MaxCompute加密数据(Beta),丰富Hologres兼容MaxCompute生态。详情请参见查询MaxCompute加密数据(BYOK模式)。
行为变更说明
Auto Analyze能力,在Hologres V1.1版本中转为默认开启。
Hologres新引擎直读MaxCompute,在V1.1版本中转为默认开启。
Resharding函数完成Beta,相关函数名更新。
更多行为变更,请参见默认行为变更说明。
Hologres V0.10版本(2021年5月)
2021年5月正式发布Hologres V0.10版本,新增功能具体如下:
引擎增强
支持自动采集表的统计信息:数据写入更新时自动采样表的统计信息,以便生成更优的Query Plan,不再需要手工执行Analyze Table。详情请参见ANALYZE和AUTO ANALYZE。
支持点查(Key/Value)场景的毫秒级高可靠(Beta):支持Shard级别多副本配置,支持毫秒级主副本切换和查询重试,显著提高服务场景下的高可靠能力。详情请参见单实例Shard多副本高吞吐(Beta)。
新增RoaringBitmap扩展,原生支持Bitmap数据类型及相关函数。详情请参见Roaring Bitmap函数。
新增bit_construct和bit_match函数:针对圈人、归因等场景进行优化,支持更高效率的基于userid的聚合条件过滤。详情请参见明细圈人函数。
新增range_retention_count和range_retention_sum函数:针对留存场景优化多天范围查询。详情请参见漏斗分析函数。
新增Resharding工具:内置Resharding函数,修改Shard数无需重新建表,简化调优过程。详情请参见Table Group与Shard Count操作指南。
优化列存默认采用AliORC压缩格式,存储压缩比提高30%~50%。详情请参见更改列存表的数据存储格式。
外表查询功能
MaxCompute外部表查询性能提升(Beta):全新外部表加速引擎,相比之前版本,查询性能约有 30% ~ 100%的提升。详情请参见优化MaxCompute外部表的查询性能。
新增exec_external_sql函数:通过exec_external_sql函数维护MaxCompute表,实现对DDL的管理。详情请参见执行MaxCompute SQL语句。
新增集成DLF(Beta):通过DLF读取OSS数据。详情请参见OSS数据湖加速。
性能优化
点查性能提升:行存总吞吐提升100%,列存总吞吐提升30%。
更新操作优化:Update/Delete优化,性能提升30%。
Query Plan缓存:优化Query Plan Cache,降低优化器耗时。
企业级运维与安全优化
慢查询透出,内置查询状态历史,可以查询一个月内所有查询的状态,快速定位慢查询,失败查询。详情请参见慢Query日志查看与分析。
Hologres V0.9版本(2021年1月)
2021年1月正式发布Hologres V0.9版本,新增功能具体如下:
引擎增强
数据类型丰富。
时间类型:interval、timetz、time
网络类型:inet
货币类型:money
PG系统类型:name、uuid、oid
其他:bytea、bit、varbit
详情请参见数据类型汇总。
函数类型丰富,包括兼容PG的函数和Hologres扩展函数。
数组函数:新增array_length和array_positions。详情请参见数组函数。
查看表和DB存储大小的函数:pg_relation_size和pg_database_size,详情请参见查看表和DB的存储大小。
支持通过Hologres SQL命令语句将Hologres数据导出至MaxCompute,实现数据归档。详情请参见通过SQL导出数据至MaxCompute。
支持Hologres Binlog 订阅(Beta),详情请参见订阅Hologres Binlog。
支持动态修改表bitmap索引和字典编码,支持根据数据特征自动创建字典编码。详情请参见ALTER TABLE。
发布Hologres Client Library,适用于大批量离线、实时数据同步至Hologres以及高QPS的点查场景,实现自动攒批,提高吞吐,详情请参见通过Holo Client读写数据。
优化JDBC写入链路和查询优化器,显著提升引擎写入效率。
BI生态连通友好性提升,支持Tableau Server,Superset等更多BI工具,满足多种业务分析需求。
安全增强
支持STS账号通过角色的方式登录Hologres,实现除云账号外等更安全更多元的账号登录体系,详情请参见RAM角色授权模式。
Hologres V0.8版本(2020年10月)
2020年10月正式发布Hologres V0.8版本,新增功能具体如下:
引擎增强
支持通过
CREATE VIEW
语句创建视图。您可以基于一张表、多张表(包含内部表和外部表)或者其他视图创建视图,详情请参见VIEW。新增SERIAL、DATE、TIMESTAMP、VARCHAR(n)及CHAR(n)数据类型。同时,MaxCompute外部表数据支持Array类型映射,详情请参见数据类型汇总。
支持
INSERT ON CONFLICT
功能,您可以根据主键配置,在插入数据时更新或跳过重复数据,详情请参见INSERT ON CONFLICT(UPSERT)。支持
TRUNCATE
功能。内置Proxima向量检索引擎,支持海量数据向量检索功能,该功能目前处于Beta版本,详情请参见Proxima向量计算。
安全增强
MaxCompute外部表查询约束与限制
查询MaxCompute分区表时,扫描分区数的最大值为512个(0.8之前版本为50个)。
每个查询中,最大的底层数据扫描量为200GB(与外部表的数量以及字段数无关,0.8之前版本为100GB)。
更多内容请参见约束和限制。