本文为您介绍Hologres产品功能的发布信息。
Hologres V2.1版本(2023年10月)
2023年10月正式发布Hologres V2.1版本,新增功能如下:
引擎能力增强
针对单条以及多条 COUNT DISTINCT 在运行时自动性能优化,显著提升 COUNT DISTINCT 场景的查询效率,详情见Count Distinct优化。
查询优化器新增Row Group Filter机制,针对列存表,同一列的多行数据组成Row Group,并且记录每个Row Group的max/min值,在查询过滤对应列时,可以在不读取数据的情况下对Row Group过滤,显著降低查询开销,提升查询性能。
优化Runtime Filter能力,支持多列Join场景,显著提升Join效率,详情见Runtime Filter。
新增手动触发Full Compaction能力,合并小文件,提升查询效率,详情见Compaction(Beta)
新增区间漏斗分析函数,用于分析用户活动的转化情况和转化情况的对比,详情见漏斗和留存函数。
新增Bit-Sliced Index(BSI)扩展库,优化高基数标签场景、用户属性标签与行为标签联合查询的性能与易用性,详情见BSI函数(Beta)及画像分析 - BSI优化方案(Beta)。
聚簇索引Clustering Key支持设置降序排列,在排序场景下利用聚簇索引,提升查询性能,详情见聚簇索引Clustering Key。
优化低频访问存储的缓存机制,提升低频访问存储的查询性能,详情见数据分层存储。
新增CREATE TABLE WITH、ALTER TABLE SET语法,替代原有 set_table_property 语法,简化表属性设置过程,详情见建表概述。
优化无主键表写入能力,无主键表批量写入不产生表锁,改为行锁,可以与Fixed Plan同时进行,详情见锁以及排查锁。
Proxima向量计算支持先建表并导入向量数据、再创建向量索引,缩短索引创建时间,简化向量计算使用,详情见Proxima向量计算。
函数能力增强:
支持若干数组函数运行在HQE,提升函数性能,详情见函数功能发布记录。
新增KeyValue函数,实现字符串的拆分,详情见KeyValue函数。
新增IF函数,简化类型检测场景,降低MySQL迁移成本,详情见IF。
运维&稳定性改善
慢查询能力增强,提升用户分析慢查询的效率,详情见慢Query日志查看与分析。
支持在慢查询日志中记录EXPLAIN ANALYZE结果,详细记录每个算子的运行时数据。
Fixed Plan诊断能力增强,写入场景affected_rows数据上报元仓,查询场景result_rows、result_bytes数据上报元仓,详情见Fixed Plan加速SQL执行。
新增hg_relation_size函数,用于查询的表占用的存储明细,详情见查看表和DB的存储大小。
兼容原生PostgreSQL行为,支持负载均衡,实现在主从架构场景下的负载均衡和故障自动转移,提升服务可用性。详情见基于JDBC的负载均衡。
OpenAPI能力升级,新增创建实例、实例续费、实例变配、释放实例接口,提升实例运维管理能力,详情见API概览。
生态拓展
数据湖加速支持Paimon格式存储,详情见OSS数据湖加速。
行为变更
变更消费Hologres Binlog的权限要求,仅需目标表的读权限,详情见通过JDBC消费Hologres Binlog。
bulkload导入到Holgores内表,内表在没有设置distribution key的情况下,有概率出现导入性能下降。
更多行为变更,参考默认行为变更说明
计算组实例发布(2023年6月)
2023年06月发布计算组(Virutal Warehouse)实例,支持单实例内部多种负载隔离,支持读写隔离,写写隔离,读读隔离,支持弹性热扩缩,支持流量灵活切换,提供多场景、多团队灵活的数据共享与计算资源隔离需求,满足企业级关键业务的隔离需求,参考文档计算组实例架构。
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等表达式的血缘解析,详情请参见数据血缘。
新增管控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实例在线热升级,升级期间,读(查询)数据不受影响,升级版本时可以加入实时数仓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外部表的查询性能。
新增集成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)。
更多内容请参见约束和限制。
- 本页导读 (1)