一站式实时数仓Hologres整体能力介绍

news2025/2/27 4:42:49

讲师:阿里云Hologres PD丁烨

一、产品定位

随着技术的进步,大数据正从规模化转向实时化处理。用户对传统的T+1分析已不满足,期望获得更高时效性的计算和分析能力。例如实时大屏,城市大脑的交通监控、风控和实时的个性化推荐,各行各业、各种业务都在试图从实时分析中寻找、洞察和创造业务价值。

在典型业务场景中,数据会从交易系统和日志实时同步到数仓。明细数据被实时加工,对于应用和BI提供交互式探索式的分析。同时也会批量化的进行聚合,实现离线的数仓分层。同时,实时数据会与维表进行即时关联(join),之后进行聚合并写入KV数据库,以服务推荐系统。

如今,实时数据正在从成本中心转化成为一种在线业务系统。整套系统包括批、流、olap分析、KV的明细查询,混合多种负载。首先,数据处理分为三个主要链路:离线数据归档至如MaxCompute、Hive等离线数仓,数据在离线数仓中分层后对外提供服务;实时数据写入如ClickHouse、Druid等OLAP系统,提供即时聚合分析;最后,使用Flink进行流式计算,实时汇总数据并写入KV数据库。这个过程中也可能会将实时事件的流数据和存储在KV存储中的维表属性进行打宽,然后再进行聚合。例如真正的事件流是用户浏览淘宝的记录,那么就会匹配上用户的属性、特征,再进行聚合,最后写到KV数据库中。

对于业务,通常需要同时查询历史的数据和实时的数据,进行结果对比。例如今年双十一需要使用去年双十一的数据进行对比和参照。此时就需要使用联邦分析的查询系统,但是对于联邦分析的查询系统来说,性能会受限于最慢的那一方,性能一般无法满足要求。所以在前面可能会把结果导入MySQL或者Redis中进行结果缓存,最终服务于业务报表、业务应用等。图里的每一根线都是一次数据的迁移。

为了搭建实时数仓,一共用了十余种数据技术,架构非常的复杂,数据同步很难且资源消耗大,各个资源之间无法共享,最终还产生了一堆数据孤岛。

面对这样的场景和痛点,Hologres应运而生。Hologres提供了一种数据存储,一款产品能够同时服务上层的多维分析、在线应用数据看板等。同时支持数据离线的高性能导入,也支持实时数据的实时更新,写入即可见,真正做到了一站式实时入仓。

下图是Hologres典型的应用场景。包括传统的统计分析,例如BI报表、实时大屏、数据中台以及现在大量应用的人群运营推荐等,做精准的营销用户画像以及广告投放智能化、个性化的推荐。还包括实时流量监控、网络流量的监控、实时风控、直播的监控,例如实时观看直播间的观看情况、观看时长、进入和退出的用户数等信息。

二、Hologres核心功能及核心优势

Hologres是存储和计算分离的架构。每一个实例的计算层是容器化部署的,分为frontend和worker node两类节点。frontend主要负责协议层的接入、sql的解析优化、实时写入、数据的调度和查询。同时基于独有的fixed plan的技术,实现百万级的RPS写入。worker node主要用于计算,主要负责配合存储引擎实现KV的查询、OLAP查询的多种负载查询,以及读取MaxCompute、OSS等存储,提供湖仓一体的能力。存储层使用阿里自研的DFS盘古存储。存储层支持按需冷热的分层存储。利用分层存储实现冷热数据的分离,从而降低成本,实现性能和成本之间的平衡,同时还支持行存、列存和行列共存以及各类索引,达到不同场景上均有极致的性能。

产品优势

产品的优势主要来自四个方面。

首先支持实时OLAP分析,支持高性能写入,写入即可查。使用了业界主流的列式存储,用来支持OLAP的场景。支持多种索引,包括聚簇索引、Bitmap、字典等。支持向量化的引擎,使用全异步调度框架,最大程度的释放硬件的性能。Hologres从诞生就支持了主键模型,并且支持主键去重,基于主键的全量更新,部分列更新等场景。其次支持Serving的场景、百万到千万级别的高性能检查、行存。同时也支持多副本模式。当副本发生故障的时候,点查会自动重试,最大程度的保证了点查场景的可用性。

其次点查不仅对查询延时非常敏感,同时对稳定性也非常敏感。所以也支持容器级别物理资源隔离,支持读写分离架构,也推出了计算组模式,最大程度保证了多种负载不互相影响。

还支持数据湖的数据交互式分析,不仅支持对maxcompute数据进行分析,还支持对数据湖中表进行秒级交互式查询和加速。在导入能力上,支持百万行每秒极速数据同步,能够快速从MaxCompute或者其他湖存储中把数据同步到Hologres中。在用户使用体验上,无需主动建表,支持原数据自动发现,极大简化用户使用。

最后,Hologres使用PostgreSQL生态,兼容这个生态下的开发工具和BI工具。支持PostgreSQL生态下多种扩展。支持做空间地理分析、空间维度分析。

重点特性

首先是分析性能,TPC-H是世界公认OLAP性能排行榜。至今Hologres以2786万分占据TPC-H性能榜首。

Serverless computing是Hologres最新推出功能,它支持用户将大任务(例如insert查询、update查询、delete查询) 使用全托管Serverless computing资源池执行。每条查询单独分配使用资源进行操作,资源与资源之间互相隔离,互不影响。Serverless computing按照占用计算资源和执行时长收费。那么就无需为周期性大任务预留大量计算资源,而造成没有大作业时计算资源浪费。同时各个ETL任务独立使用资源进行,互相之间资源隔离,互相之间不会争抢,运行更加稳定和更加可靠。最后他不占用现有实例资源,不会影响现有实例的查询,从源头上解决了MPP架构上跑大任务的痛点,在稳定性和性价比上找到了平衡。

其次是资源隔离能力,MPP架构中最大痛点也就是资源隔离。Hologres在之前已经推出了共享存储的读写分离模式,它有主实例和从实例,主从之间数据毫秒级延迟。在原有架构基础上,Hologres再做升级,推出了计算组实例,实例内可以划分多个计算组,多个计算组之间共享存储,数据毫秒延迟,计算资源物理隔离,计算组与计算组之间故障式隔离。计算组支持弹性扩缩容,支持按时弹性,支持系统级高可用。通过标准SQL接口可以支持根据用户路由、负载自动路由自动切换。对外只暴露统一的endpoint。在用户需要切换的时候,无需上层应用变更任何代码,不用做任何配置修改,用户即可在实例层面主动进行切换。同时计算组支持在线扩缩容,在扩容和缩容期间查询不会中断。

高性能、高吞吐的实时写入是Hologres一直以来的优势能力。传统OLAP引擎写入数据时需要经过查询优化器、协调器、查询引擎、存储引擎等多个组件。Hologres对于特定查询,可以用FixedPlan模式进行写入数据,即不经过优化器、协调器、查询引擎、存储引擎等多个组件,极大缩短写入链路,显著提高写入性能。上图左下角是典型insert语句执行过程,它会经过各个组件才把数据写下去。使用FixedPlan之后,省去了中间的多余步骤,提高了性能。数据通过SQL写入的时候,SQL返回即表示写入完成,数据写入即可见,从写入到可查询的延迟在毫秒级别。同时Hologres支持多种存储,包括行存、列存和行列共存,用来服务不同负载场景。同时基于自研的FixedPlan优化原理,简化写入链路,实现高吞吐高并发的更新和删除,RPS可达百万以上。

Hologres在第一天就完整支持了组件场景,支持了exactly once语义,全场景支持主键去重、完整支持高性能,可以根据业务场景去选择适合写入模式,来满足不同场景下对于写入的需求。

随着日志分析兴起,半结构化数据变得越来越流行。它有很多优势,例如可以自由增加Key,在Key时不需要变更上下游数据。但是JSON也会带来很多问题,比如说查询更加耗费资源等问题。那么Hologres支持将Jason数据在写入的时候就做解析,它可以解析出来key和value,然后使用列存方式存储下来。例如上图左侧的JSON数据,如果需要查询男性平均年龄,当没有使用列存的时候,需要把当中所有key和value都查询出来,在列存中做筛选再做聚合。如果使用列存化之后,当数据存储的时候,就已经按照列存储下来。Hologres会根据解析出来的数据类型,选择合适的数据类型进行列存压缩和存储。在存储上会有明显提升,减少存储空间和降低存储成本。在查询时只需要查出年龄相关数据和性别相关数据。

同时在数据上可以使用bitmap索引。进一步提升查询和检索数据效率。从数据量、IO量、检索量上,多重方式、多种层次去优化查询性能。同时,和其他厂商不同,Hologres使用了原生PG协议下的JSON数据类型,可以很好跟与BI工具兼容,在BI场景下也可以原生使用列 存化能力。

同时,Hologres也支持冷热分层,只需指定表的冷热分层策略,即可以享受冷热分层存储能力,无需购买其他额外存储或者做其他数据搬迁。支持基于指定规则实现冷热分层的自动转储。转储过程中是异步,业务无感知,也不会影响读写。在使用查询的时候,会根据不同存储去查不同存储上数据。

Binlog能力是Hologres有别于其他olap的重要能力。在传统数仓中,olap就是数据终点。但是Hologres提供了Binlog,让Hologres不再仅仅是数据终点,它也可以是数据起点。Hologres的Binlog类似于传统数据库Binlog,用来记录单条数据修改日志。包括insert、delete before update、after update 4种事件类型。基于这样能力,Binlog可以被JDBC消费,也可以被flink消费,实现实时数仓分层。Flink可以基于ODS层的Binlog加工DWD层Binlog,最终得到ADS层数据,实现层层数据加工。做到真正全链路事件驱动开发,而不是原基于调度任务的开发。

Hologres一直在深耕流量分析场景,支持了丰富的分析函数,从最初的漏斗分析函数扩展到区间漏斗分析函数语法,可以用来做漏斗转化的分析。后来又实现了路径分析。它可以用于分析每个步骤流向和流量分层。在Hologres里面只需要通过简单函数,即可以实现复杂桑基图分析。在其他引擎里面如果要做分析,需要多种函数,多条语句互相嵌套,才可以实现部分桑基图功能。最后还有留存扩展函数,仅需要函数就可以画出数据分析。且中间经过高度优化, 性能比传统嵌套写法会有数百倍提升。

在数仓上,行为分析、画像分析都是非常核心场景。对比Doris、Clickhouse等产品在这些场景上的能力,Hologres完整覆盖了漏斗分析、留存分析、路径分析、属性标签分析和行为分析五大分析场景,真正做到了全场景全覆盖。而且在每场景都有完整函数支持。不仅在性能上全覆盖,功能上全覆盖,在函数上也做到了真正全覆盖。

在Hologres中原生支持Roaring Bitmap函数,可以将用户ID构建成Roaring Bitmap,实现标签快速分析。同时在2.1版本开始,支持了BSI函数,通过BSI高效压缩和切片索引实现标签高效分析。同时在查询时,可以通过二进制原理和Roaring Bitmap交并差进行快速计算,支持对高基数进行标签压缩存储和低延迟查询,从而实现属性标签和行为标签高效联动分析。Roaring Bitmap多用于属性标签,BSI函数多用于行为标签和属性标签联合查询。在保证精度的同时还可以避免与明细表进行关联查询。同时也支持高基数的行为标签,通常与Roaring Bitmap连用。

上图是Hologres主要产品组合,覆盖了实时数仓、离线数仓、湖仓一体和流批一体场景。实时交易系统的数据和消息队列的数据通常使用Flink进行实时处理,同时和Hologres可能会有维表关联,然后将数据写到Hologres里面。Dataworks作为统一开发平台,做离线和实时全链路开发。包括支持统一血缘分析,以及数据集成,能够将数据库里的数据通过简单配置就可以实时同步到Hologres中。对于离线部分,Hologres支持对湖上数据和MaxCompute数据进行高速分析,高速加速以及高速导入。同时也支持高速归档到MaxCompute或OSS中。

对外提供KV高性能点查服务,以及olap多维分析能力。首先Hologres和flink可以组成企业级实时数仓架构。Hologres作为flink最佳搭档,同时支持了flink所有功能特性。当作为结果表时,支持高性能写入和更新数据,写入即可见。作为源表时,支持全量读取、binlog读取、CDC读取和全增量一体化多种方式读取。作为维表,支持高性能维表关联,数据打宽等多种应用场景。最后深度集成了catalog能力,支持原数据打通,支持原数据自动发现。在CDC场景中,上游数据发生了变化,就可以驱动Hologres中的表结构发生变更,进行schema evolution,不需要额外去重新配置flink任务即可实现。

上图是湖仓一体场景。DLF在这个场景中会提供原数据管理和发现能力。Hologres可以无缝自动发现DLF原数据。在整个架构中,Hologres支持加速和读取多种数据库格式,包括Paimon、Hudi、delta等外表格式。同时支持DLF源数据自动发现,支持OSS-HDFS高性能读取,与hadoop生态无缝集成。使用形态上, Hologres还提供了共享集群模式,可以按照查询、扫描量来按量付费,极大降低了数据库的分析门槛。

三、典型案例

案例一:国民种草笔记小红书

Hologresce主要应用在客户搜索推荐场景。搜索推荐是内容平台电商极其重要场景,需要通过大数据体系对海量信息和人群进行精准高效匹配,从而为用户推荐最精准内容。小红书推荐业务下有多种典型OLAP业务和分析场景,包括实时业务指标告警,实时指标核对等。推荐系统通过自建开源系统来完成,其中由自建的Clickhouse集群承担OLAP分析业务。但是随着业务高速增长,自建Clickhouse痛点越来越明显,无法满足业务诉求。其中包括自建的集群成本高,只能存储七天以内数据,否则就会存储爆炸;其次是查询慢,只能查询三天以内数据;接着Clickhouse没有主键,无法对主键去重,当上游flink任务fillover时很容易抖动。集群摆运维复杂,排查问题链路长。小红书业务就抛弃了自建的Clickhouse集群。通过Hologres助力搜索推荐业务上云。上云之后,客户收到了明显收益,包括免运维,节省人力成本;查询快,通过Hologres可以轻松查询 15天数据。同时Hologres提供了各类场景分析类函数,极大简化了查询使用成本和使用门槛。最后Hologres能够实现业务快速去重。上游任务有任何fillover也没有影响。Hologres在重新写入的时候,不会产生脏数据。Hologres存储和计算分离,可以轻松存储15天数据。如果后面数据还要多,可以轻松实现动态扩容。

案例二:阿里妈妈

广告业务是核心场景业务。在广告场景上实时推荐是非常典型的提升商业化收入方法。对于阿里妈妈这样广告平台来说,其目标是用更好商家端营销产品服务广告主,帮助广告主进行人群投放,提升经营效果。为了解决广告主更加实时且智能的实时推荐需求,阿里妈妈通过数据团队,通过flink加sql自研了一套具有AI分析的超融合一体化平台。其中flink提供实时计算,支持streaming和batch计算能力,实现流批一体。Hologres负责存储一体,并且向上提供olap分析能力,结合AI计算能力实现人群圈选,实时推荐。团队在上层自研SQL组件,实现SQL自动转移路由等能力;index build等组件,充分资源调度并改善算法能力,支持精准向量召回模型打分。

阿里妈妈通过flink加Hologres搭建广告智能计算引擎,尤其是结合Hologres bitmap和向量计算能力,给下游业务带来了巨大收益。包括秒级olap计算能力,毫秒级在线服务,提供毫秒级实时营销推荐和毫秒级用户召回计算,开发效率提升了三倍以上。Flink加Hologres的深度集成系统,支持数据加工和在线服务,显著提高了开发效率。

案例三:37手游

37手游是37互娱集团下的运营子公司,致力于游戏发行业务,在中国大陆地区37手游已近10%市场占有率,仅次于腾讯和网易,位居top 3。37手游原有大数据平台全套使用开源flink+Presto+HBase+Clickhouse的架构。主要具有如下痛点,原有的ETL链路非常复杂;开源flink缺乏schema evolution能力,变更表结构需要重启任务,操作非常麻烦;查询需要额外加速,整个链路非常冗余。同时两种查询引擎不能统一起来,OLAP架构冗余,查询慢,OLAP组件多,操作非常繁琐;OLAP查询引擎性能不足,无法满足业务快速增长的需求;系统多,存储冗余,成本居高不下,集群稳定性需要专人去做运维。

在全面上云之后,带来了非常显著的业务收益。首先使用Hologres之后,业务写入即可见,百万数据更新毫秒延迟,业务拿数据更实时,不同于过去Clickhouse方式,需要和数据合并之后,才能看到最新的结果。然后阿里云flink提供了完整schema evolution能力,降低了开发和运维管理成本、使用成本。实时链路flink直接读取,Hologres+Binlog替代kafka,减少了数据流转。在整个数仓分层中,不需要两套存储即可实现整个实时数仓分层。Hologres统一了数据服务出口,查询毫秒级延迟,相比Clickhouse性能有百分之百的提升,join运行性能有十倍以上提升。架构更简单、更灵活,运维更方便;上新业务或业务变更的时候变得更加敏捷,整个开发效率变得更高。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1841627.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

AMEYA360 | 江苏润石最新发布12颗车规级模拟芯片

日前江苏润石再度新增12颗通过AEC-Q100 Grade1,满足MSL 1湿敏等级认证的车规级芯片。截止目前,润石科技总计有70颗Grade1 & MSL1的车规级芯片通过认证并进入量产。凭借卓越的产品技术指标和稳定的品质性能不仅展示了公司在车规级模拟芯片领域的技术积…

React 通信:深层传递(Props、Context、Children Jsx)

在之前的文章 探讨:围绕 props 阐述 React 通信 中总结了关于“父子”组件传值,但是当需要在组件树中深层传递参数以及需要在组件间复用相同的参数时,传递 props 就会变得很麻烦。 实际案例: 下述展示有两种状态:① 详…

智慧分流:探索互联网与物联网的负载均衡技术

数字化时代,个人认为,无论是互联网还是物联网,还是其他网,在各个层级,都对系统的稳定性和效率提出了更高的要求。负载均衡技术作为保障系统平稳运行的关键,其重要性不言而喻。在数字世界的海洋中&#xff0…

【TB作品】MSP430G2553,单片机,口袋板, 单相交流电压、电流计设计

题5 单相交流电压、电流计设计 设计基于MSP430的单相工频交流电参数检测仪。交流有效值0-220V,电流有效值0-40A。电压、电流值经电压、电流传感器输出有效值为0-5V的交流信号,传感器输出的电压、电流信号与被测电压、电流同相位。 基本要求如下 &#xf…

AI写作平台:提升文档撰写效率的神器

工欲善其事,必先利其器。 随着AI技术与各个行业或细分场景的深度融合,日常工作可使用的AI工具呈现出井喷式发展的趋势,AI工具的类别也从最初的AI文本生成、AI绘画工具,逐渐扩展到AI思维导图工具、AI流程图工具、AI生成PPT工具、AI…

电子竞赛6——基于DDS的正弦波发生器

前言 作为电子系统必不可少的信号源,在很大程度上决定了系统的性能, 因而常称之为电子系统的“心脏”。传统的信号源采用振荡器, 只能产生少数几种波形,自动化程度较低,且仪器体积大,灵活性与准确度差。而现在要求信号源能产生波形的种类多、频率高,而且还要体积小、可靠性高、…

推荐一款功能强大的显示器!

最近在写项目开发文档,经常需要几个界面来回切换,真的深刻感受到了一台外接显示器对一名程序员来说有多重要了,画功能流程图的时候嫌弃自己的笔记本屏幕不够大,看代码的时候又在想要是有个旋转屏就好了,来回切换界面的…

【OpenHarmony开发】自定义系统应用之实践

前言 OpenHarmony系统应用是指预装在OpenHarmony操作系统中的应用程序,也称为系统应用。这些应用程序通常由操作系统开发者开发,包括系统设置、电话、短信、浏览器、相机、音乐、视频等常用应用程序。这些应用程序通常具有更高的权限和更深入的系统集成…

看到漂亮的UI设计,就挪不开眼,还有救吗?

在App设计中,瓷片区(Tile Area)是指用于展示信息或功能的独立区域。瓷片区可以被设计成具有不同的形状、大小、颜色和内容。以下是瓷片区的一些作用: 信息展示: 瓷片区可以用于显示重要的信息,如最新消息、…

uni-app 表格tr添加点击事件

首先找到uni.tr这个组件的页面,路径uni_modules/uni-table/components/uni-tr/uni-tr.vue 然后添加点击事件 在你的表格页面就可以添加点击事件了

电脑C盘满了怎么清理?5招为您释放电脑空间!

“我的电脑使用了一段时间了,不知道是不是因为内存满了,现在很多功能都没办法使用。有什么方法可以清理c盘空间且不误删重要文件的吗?” 当我们打开电脑,发现系统提示C盘空间不足,或者电脑运行变得缓慢时,很…

LabVIEW电磁超声热态金属在线缺陷检测系统

LabVIEW软件开发的电磁超声热态金属在线缺陷检测系统针对极端高温环境下的金属材料,进行实时、无损的缺陷检测,具有高精度和高可靠性,能够显著提高材料质量控制的效率和准确性。 项目背景 随着工业技术的发展,高温环境下的金属材…

高德地图轨迹回放/轨迹播放

前言 本篇文章主要介绍高德地图的轨迹回放或播放的实现过程,是基于vue2实现的功能,同时做一些改动也是能够适配vue3的。其中播放条是用的是element UI中的el-slider组件,包括使用到的图标也是element UI自带的。可以实现轨迹的播放、暂停、停…

这三种电容在PCB设计中怎么摆放?

电容在高速 PCB 设计中起着重要的作用,通常也是 PCB 上用得多的器件。在 PCB 中,电容通 常分为滤波电容、去耦电容、储能电容等。 1 电源输出电容,滤波电容 我们通常把电源模块输入、输出回路的电容称为滤波电容。简单理解就是,…

56岁张卫健前任貌突然回春大进化?自曝婚礼前夕流产

现年56岁的江欣燕于1985年以18岁之龄参加第4届新秀歌唱大赛入行,曾拍过多部无线经典电视剧,包括《娱乐插班生》、《同事三分亲》及《女人俱乐部》等。现时甚少作幕前演出的江欣燕日前在社交平台上载分享了新短片,当中更以Deep V上阵&#xff…

Nacos 2.x 系列【14】临时实例、永久实例

文章目录 1. 概述2. 注册实例2.1 SDK2.2 Open API2.3 Spring Cloud 3. 临时实例4. 永久实例 1. 概述 Nacos 提供了两种服务类型供用户注册实例时选择: 临时实例:只是临时存在于注册中心中,会在服务下线或不可用时被注册中心剔除&#xff0c…

HTML基本标签使用【超链接标签、表格标签、表单标签、input标签】

目录 一、基本介绍1.1 概念1.2 HTML的核心特点 二、HTML基本标签三、超链接标签四、表格标签✌<table> 标签属性✍<tr> 标签属性✌ <td> 和 <th> 标签属性演示注意事项 五、表单标签综合应用 最后 一、基本介绍 1.1 概念 HTML&#xff0c;全称为超文…

AutoDL Python实现 自动续签 防止实例过期释放 小脚本 定时任务 apscheduler requests

背景介绍 平常对模型进行训练、微调的时候&#xff0c;我在 AutoDL 有一台主机。 但是有些主机环境我配置好了&#xff0c;又不想让它过期&#xff0c;可能过段时间还会再用。 我一不留神就会超过15天&#xff0c;导致我的机器给释放了很难受。 所以写了一个Python的小脚本&…

玩手游多开还停留在模拟器阶段?不如试试云手机

在手游的世界里&#xff0c;尤其是回合制和资源类游戏&#xff0c;采用多开账号以获取更多游戏资源或者体验不同的游戏策略&#xff0c;是许多玩家的需求。但其实&#xff0c;目前大多数玩家在实现手游多开时&#xff0c;还停留在使用模拟器的阶段。但实际上&#xff0c;有一种…

直播平台美颜技术分析:视频美颜SDK功能实现原理

本篇文章&#xff0c;笔者将深入分析视频美颜SDK的功能实现原理&#xff0c;探讨其在直播平台中的应用。 一、视频美颜技术概述 通过这些功能&#xff0c;用户可以在直播过程中呈现更加理想的自己&#xff0c;从而提高观众的观看体验和互动积极性。 二、视频美颜SDK的功能 1…