Hologres V2.1 版本发布,新增计算组实例构建高可用实时数仓
Highlight
产品介绍
Hologres 是阿里云自研一站式实时数仓,统一数据平台架构,将 OLAP 查询、即席分析、在线服务、向量计算多个数据应用构建在统一存储之上,实现一份数据,多种计算场景。
V2.1 版本简介
新增弹性计算组实例,解决实时数仓场景下分析性能、资源隔离、高可用、弹性扩缩容等核心问题,同时新增多种用户分析函数与实时湖仓 Paimon 格式支持,COUNT DISTINCT 优化显著提升查询效率。
升级说明:Hologres 支持热升级,跨大版本升级建议停机升级。
弹性计算组(warehouse)构建高可用实时数仓
功能说明:
Hologres 弹性计算组(warehouse)采用 Shared Data 架构,存储共用一份,计算资源分解为不同的计算组(Warehouse),每个计算组可独立弹性扩展,计算组之间共享数据、元数据。
应用场景:
弹性计算组有多种使用方式,用户可以实现高可用、负载隔离与降本,并显著提升故障恢复速度及使用易用性。
隔离与高可用:计算组之间物理隔离,不同部门业务之间实现读读隔离、写写隔离、读写隔离,同时避免计算组之间的相互影响,减少业务抖动。
成本与弹性:存算分离,存储共享一份,计算组可动态热扩缩容,显著降低成本。
易用性:对应用只暴露一个 Endpoint,新增与销毁、故障实例切换等操作通过简单 SQL 即可快速实现,实现故障自动路由。
其他核心能力
实时湖仓新增 Paimon 格式
功能说明:
Hologres 实时湖仓能力在之前版本支持 ORC、Parquet、CSV、SequenceFile、HUDI、Delta、Parquet 等多种格式,V2.1 版本新增 Paimmon 格式,Apache Paimon 是流批统一的湖存储格式,支持高吞吐的写入和低延迟的查询,促进数据在数据湖上真正实时的流动,并为用户提供基于湖存储的实时离线一体化的开发体验。
应用场景:
Flink +Paimon+ Hologres 实时湖仓。基于 Flink 将数仓以 Paimon 这种 Table Format 形式在湖上构建,上层可以使用 Flink 进行流计算,使用 Hologres 对所有层次做统一的 OLAP 查询或者是最上面的 ADS 层做在线分析。方案中 Paimon 可以实现高吞吐的入湖,Flink 可以实现全链路的实时计算,Hologres 可以实现高性能的 OLAP 查询,所以整个链路从实时性、时效性、成本几个方面都可以取的比较好的平衡。
向量计算新增计算巢方案,5 分钟拉起企业级知识库
功能说明:
基于计算巢能力,5 分钟一键拉起 Hologres 向量计算+PAI 部署大模型所需资源,直接通过 WebUI 与示例数据,进行大模型+向量计算对话。
应用场景:
企业级对话知识库构建。将专属行业知识向量化处理后,存储到向量引擎,通过向量计算结合大模型推理求解,输出专属领域准确答案,减少大模型问答幻觉,完成实时知识更新并提高问答速度。
自动优化 CountDistinct,提升查询效率
功能说明:
Hologres 从 V2.1 版本开始,针对 Count Distinct 场景做了非常多的性能优化(包括单个 Count Distinct、多个 Count Distinct、数据倾斜、SQL 没有 Group By 字段等场景),无需手动改写成 UNIQ,即可实现更好的性能。
应用场景:
在 PV、UV 计算等场景提升精确去重查询效率
对比 V2.1 与 V2.0 版本,V2.1 在单条及多条 Count Distinct 的内存消耗、CPU 使用、耗时上都有显著差异。
优化 Runtime Filter 能力,显著提升 Join 效率
功能说明:
Hologres V2.0 版本支持 1 个 join 字段的 Runtime Filter,V2.1 开始支持多字段 Join 的 Runtime Filter。在 Join 过程中,Hologres 根据 build 端的数据特征和分布以及最终 Join 的数据量和原始扫描数据量,自动对 probe 端的数据进行裁剪,从而减少对 probe 端的数据扫描和 Shuffler,以此来提升 Join 性能。
应用场景:
多字段 join 时,自动优化大小表 join 效率,如以下示例 SQL,V2.1 版本可以提升 30%-100%查询速度。
Runtime Filter 是自动触发的能力,无需手动开启。触发条件如下:
•probe 端的数据量在 100000 行及以上。
•扫描的数据量比例:build 端 / probe 端 <= 0.1(比例越小,越容易触发 Runtime Filter)。
•Join 出的数据量比例:build 端 / probe 端 <= 0.1(比例越小,越容易触发 Runtime Filter)。
新增漏斗、留存、路径等函数,简化用户行为分析
功能说明:
用户漏斗分析、留存分析、路径分析是常见的用户行为数据分析场景,Hologres 新增漏斗、留存、路径函数,可以帮助用户更加简单、高效地完成行为分析。
应用场景:
用户漏斗分析,计算每个阶段行为转化率。Hologres 原生支持漏斗函数,也支持区间漏斗函数,这样不仅可以看到每个阶段的漏斗结果,也可以分组展示漏斗的结果,不需要写额外的各种扩展语法。
用户留存分析,计算近 3 天、7 天用户等留存。Hologres 支持留存函数和留存扩展函数,方便业务可以高效的分析产品留存率,助力进一步业务决策。
用户路径分析,计算用户产品使用路径分布情况。Hologres 路径函数可以基于事件,统计用户访问行为的流入留出,快速搭建用户路径桑基图。
BSI+RB 函数助力高效画像分析
功能说明:
Hologres 原生支持 Roaring Bitmap 函数,将用户 ID 构建成 Bitmap 实现属性标签的快速分析;同时在 2.1 版本开始支持 BSI 函数,通过 BSI 的高效压缩和切片索引,实现行为标签的高效分析,同时在查询时可以通过二进制原理和 Roaring Bitmap 交并差运算进行快速计算,支持对高基数行为标签的压缩存储和低延迟查询,从而实现“属性标签”和“行为标签”的高效联动分析。
应用场景:
通过 BSI 函数+RB 函数实现高效的行为分析与画像分析。例如在一张用户属性表,一张用户收入表,表结构如下:
若要计算出“广东、男用户的 GMV 总和”,传统的 Join 语法,数据量大时容易 OOM,通过高效 bitmap 压缩,避免 join 即可联合分析。
若要计算出“昨日广东男用户消费金额 Top K”,传统语法对 GMV 排序要消耗大量资源,BSI+RB 自带 TopK 函数,分析更高效。
支持单实例 Shard 多副本,提升吞吐量,实现查询高可用
功能说明:
单实例 Shard 多副本是 Hologres 一直 Beta 中的能力,在 V2.1 版本正式发布,可以实现单实例内高可用及负载均衡扩吞吐场景,可容忍部分机器故障及热点不均衡问题。
应用场景:
多副本高吞吐场景
小部分 Worker 计算资源使用率很高,其他 Worker 很低,有可能是查询不均导致的,此时增加 Shard 的副本数量,使更多的 Worker 上有 Shard 的副本,有效提高资源利用率和 QPS。
多副本高可用场景
因为单 Shard Failover 时导致查询不可用情况,增加副本数量后,某个 worker 发生故障时,由于仍存在完整的 Shard 副本,实例可以继续。
结合 DataWorks 增强数据同步、血缘、地图、传输加密等能力
功能说明:
Hologres 与 DataWorks 深度集成,在过去的 MySQL、Oracle、PolarDB、SQLServer 等数据源的基础上,V2.1 版本新增支持 ClickHouse 整库全量、ADB 整库同步、Kafka 实时同步到 Hologres。同时在 DataWorks 中可以采集 Hologres 元数据,查看 Hologres 表血缘和字段血缘信息。
更多完整功能列表请查看Hologres V2.1功能发布记录
版权声明: 本文为 InfoQ 作者【阿里云大数据AI技术】的原创文章。
原文链接:【http://xie.infoq.cn/article/7265bb69e7858982151b07f58】。文章转载请联系作者。
评论