写点什么

实时数仓实战

作者:鲸品堂
  • 2022 年 6 月 13 日
  • 本文字数:4043 字

    阅读完需:约 13 分钟

实时数仓实战

什么是实时数仓


数字化转型的驱动下,传统的离线数据仓库,将业务数据集中进行存储后,以固定的计算逻辑定时进行 ETL 和其它建模后产出报表等应用。离线数据仓库一般采用每日或每几个小时进行一次计算的方式,计算和数据的实时性均较差,业务人员无法根据自己的即时性需要获取几分钟之前的实时数据。


随着软件技术和硬件的发展,实时数据仓库一类的解决方案趋于成熟并开始流行。实时数仓同时具有计算的实时性(计算在用户查询时发生,可自由变换,查询速度快),和数据的实时性(数据产生插入数仓后很短时间内既可以查询到),可以让业务人员在几秒钟甚至几百毫秒的时间内获取到包含最近几分钟内的数据计算结果,以最大的实时性及灵活度应对千变万化的业务挑战。


实时计算技术日趋成熟


实时计算框架已经经历了三代发展,分别是:Storm、SparkStreaming、Flink,计算框架越来越成熟。一方面,实时任务的开发已经能通过编写 SQL 的方式来完成,在技术层面能很好地继承离线数仓的架构设计思想;另一方面,在线数据开发平台所提供的功能对实时任务开发、调试、运维的支持也日渐趋于成熟,开发成本逐步降低。


实时数仓的特点


为满足数仓对实时性的要求,实时数仓新品,兼具快、易、省三大特点:1 快:数据通过实时的流式接入,利用成熟的实时计算与存储技术,实现对数据的秒级计算,秒级分析应用的能力,使得供数时效从 1 天以上的时间提升到秒级内。2 易:支持基于 SQL 完成复杂流式计算语义定义,简化开发,可以支持各种组件进行统一查询,而不需要把数据从一个组件迁移到另一个组件。以实时统计新增产品发展数场景为例,仅用 300 行 SQL 代码实现了原有 800 行 Oracle 脚本同样的功能。3 省:传统 T+1 的模式并不是 24 小时跑任务,计算高峰期在晚上,导致白天的资源利用不足,引入实时数仓后,数据是实时采集与实时计算,资源的使用分散到全天的过程,实际上把整个资源消耗的高峰和低峰抹平掉,充分利用资源,相当于节省了资源的浪费。


实时数仓快速提升数据价值


业务不断增长,营销活动变得越来越频繁,如何快速有效地获取数据价值,帮助业务部门高效的进行运营及营销策略调整变得越来越重要与紧迫,而实时数仓刚好应对这种快速增长的业务诉求,例如以下几个方面的数据价值提升:


1 丰富业务营销场景能力:缺乏实时类标签关联和运营营销能力,需要建设实时营销标签和时效性更高的事件营销场景,助力客户转化和价值提升。2 实时运营分析能力提升:缺乏分钟级甚至更高效的实时数据分析能力,需要构建实时运营指标体系,为企业经营决策提供分钟级实时应用通报,提效业务决策。


2 实时运营分析能力提升:缺乏分钟级甚至更高效的实时数据分析能力,需要构建实时运营指标体系,为企业经营决策提供分钟级实时应用通报,提效业务决策。


3 服务运营优化提升:运营服务和业务流程从业务受理到服务开通,全流程场景涉及系统多,业务运营服务往往无法快速分析定位问题,需要建设实时的全链路的运营监控服务能力,提高业务服务水平。


4 实时通报看数:运营商数据分析和汇总,主要采用半小时及以上频率汇总,数据分析延迟高,出数不及时,导致管理人员、一线业务无法实时掌握营销数据,无法快速决策,需要建设一个实时秒级的数据分析与汇总系统,帮助提升营销能力,协助快速决策。


5 实时业务提醒:在使用手机刷屏、看电影时,经常遇到因流量超标,造成客户突然停机、莫名地支付超高的流量费用,引起客户投诉或离网等情况,因此需要通过实时计算的能力,将流量数据与业务规则进行快速计算,并即时提醒客户流量不足,避免客户流失。


浩鲸科技实时数仓经典场景


某省电信运营商按照国家信息安全战略要求,为实现全面去 O 云化,通过采用浩鲸实时数仓平台,基于 Flink+Hudi+CK+缓存技术架构,以流批一体化计算为核心,完成了新一代实时数仓建设,系统建设有效提升业务受理效率,加快了对业务营销的赋能。


系统建设总体架构如下:



1、系统架构层面:


该运营商基于流消息,采用浩鲸科技实时数仓平台,支撑多流合并、流流关联、流表关联,实现基于流的秒级关联、计算,打造了自己的实时数仓体系,完成建设并沉淀的实时模型 45+,指标 100+,实时标签 180+。


2、分析应用层面:


实现省内实时经营视窗分析、季度营销通报、岁末年初营销通报、实时协号转网多类实时通报、数字化大屏实时场景,数据分析和呈现效率由 30 分钟+,提速到分钟级甚至秒级,极大的提高的领导决策、一线人员运营、客服服务定位的效率。


数字化实时大屏(PC):



实时经营视窗(APP):



3、营销服务层面:


建设了基于 CRM 实时 API 调用大数据的实时标签,判断客户当前业务情况是否存在受理限制,提速实时业务受理。实时受理类标签调用月均 1W+次,查询效率由原本 30 分钟+的延迟,提速至 5 分钟以内,极大减少了客户在业务受理时的等待时间。


基于客户流量、费用超标的流事件进行触发,实时关联和融合客户画像标签,实现实时流量辅导、实时业务提醒、实时携号转网挽留场景建设,业务服务水平得到较大提升,客户投诉率下降 13%+,客户价值增长 7%+。



浩鲸科技实时数仓建设实战


从构建一个高效的、实时处理数据的实时数仓出发,协助项目人员快速开发实时业务场景,并可以清晰的进行实时场景的运维自治,从而真正地解决在用数市场的数据时效性的难题和困境。


实时数仓库从平台化的总体规划、功能的完善性、开发的易用性、运行的安全性、建设的高效性等出发,建设基于批流一体化的框架保障实现逻辑统一,可以处理所有数据,同时加强对数仓建设过程的标准、元数据与数据模型的管理,让所有过程有据可循,可跟踪可呈现,再利用当前先进的数据湖技术来保障数据的存储及时永新;规划设计的实时数仓建设思路如下图:



1 实时数仓架构


数仓的分层搭建需要从复用、成本、质量、扩展性等方面去考虑,实时数仓的搭建,包括层次划分、命名、主题域划分、数据域划分与离线相差不大,目前划分层次如下图,推出了以 Flink、hudi 与 clickhouse 为核心的批流一体化海量实时数仓架构,用 1 套架构解决了 N 种分析场景的需求,过去需要运维 N 种独立的组件、开发 N 套系统、对接 N 种接口、N 种安全策略,现在只用 1 个系统 1 套架构就都解决了数据割裂和开发复杂的问题,并且让实时处理的架构变得非常简单。



2 建设实践


不管是从上下结构还是左右结构演进过来的数仓一体,最终都应该是一个简单易用的系统体系,可快速接入数据、并高效实时的计算形成数仓各分层所需的数据,因此浩鲸科技实时数仓一体平台提供四大关键特性,这四大关键特性都是在围绕怎么把实时海量数据做到更加易用:



快速接入平台


封装超 40+的数据源接入接口,开发者在使用的时候,无需再进行对接源的学习研究,可以直接在平台上拖拉式数据或直接引用数据源的编码方式使用,便可以完成对数据源的快速接入,系统针对每种不同类型的数据都默认配置了数据解析引擎,可以很方便快捷的将结构化、半结构化的数据格式转换化表字段模式,快速接入数据类型如下图(针对结构化与半结构化数据均可以快速接入):



数据的快速接入可支持客户分钟级的自助打通实时数仓的建设,屏蔽了很多底层的配置细节,让客户实现快速的业务洞察。



统一标准、元数据


实时数仓的标准沿用离线数仓的标准,标准的建设主要包括并遵守约定好的数据类型规范、数据冗余规范、数据表处理规范、表的生命周期管理,词根设计规范、表命名规范、指标标签的命名规范等;其中数仓的分层标准规范中基于 ODS 层设计规范、公共维度层设计规范、DWD 明细层设计规范、DWS 公共汇总层设计规范等进行分层设计;清晰数据结构。好的标准规范在实时数仓中可清晰用于数据血缘追踪,减少重复开发,数据关系条理化,屏蔽原始数据的影响。


通过元数据可见技术,实现不同系统之间的数据可见性,进而实现双向的读写能力。实时数仓的元数据管理支持批量导入各系统的的元数据库,支持新增表自动同步。通过外表的元数据可见,实现了数据不搬迁,支持双向的可读可写可感知。元数据自动发现技术,更是让外表的创建和更新完全自动化,减少了大量手工运维调试的工作。用户不再需要周期性同步表结构,不再需要担心数据类型的不对齐。


引用 hudi 与 clickhouse 存储实时数仓数据,组件提供对数据的增、删、改的实时操作,保障存储的数据的及时永新,这样就有效的保障各层模型的实例数据的时效性,有利为各业务系统提供基于最新数据分析、决策相关的能力。


提供统一的开发体验


为节约各项目现场的开发成本,提升业务实现的效率,实时数仓的开发屏蔽复杂的跨源计算技术,提供近业务逻辑实现的基于模型的拖拉式的开发体验与基于相对标准的统一的 SQL 开发体验。


系统自治


这个也是我们一直重点投入的领域,实时数据在建设过程中,由于计算任务经过环节较多,当出现问题的时候,往往在某一个地方很难定位与分析问题,需要从采集源、消息中间件、计算程序到数仓库的全数据计算链路的流程中去查找原因才好定位问题。


自治的全链路运维保障


为帮助运维人员更好地分析与定位问题,平台提供统一的运维管理能力,可在线查看处理各种业务与技术问题,通过智能的采集数据源、缓存、实时仓库存储与计算过程的指标,制定相应的指标阀值,快速实现对异常情况告警。同时系统针对识别到的异常的问题,建立系统运行的自治机构,自动识别源与目的临时性问题决定数据自动处理方式,如自动重新消费、自动记录或跳过数据等处理方式。系统运维图如下:



自治的时效性保障


平台通过提前压测与监控,发现影响数据计算的性能问题,提前做好数据处理的准备:


1)提前压测:提前发现可能会影响任务处理速度的瓶颈,常见的就是数据倾斜、大状态的算子操作(join),及时预判是否当前资源是否可以支撑运行,保障计算的时效性,如果不能会提前进行告警通知。


2 ) 监控:监控任务当前的消费进度,在数据源处通过使用数据时间与当前系统时间对比判断其消费进度,对于大量延迟系统尝试增加并发与资源,若还是出现大量延迟会及时产生告警通知。


在项目上通过浩鲸科技的实时数仓平台的能力,可以帮助客户快速地实现数据的处理,高效搭建实时数仓,节约开发过程的成本与时间,解决客户各种对数据时效性要求高的业务场景,提升客户对业务的决策能力。

发布于: 20 小时前阅读数: 2
用户头像

鲸品堂

关注

全球领先的数字化转型专家 2021.03.16 加入

鲸品堂专栏,一方面将浩鲸精品产品背后的领先技术,进行总结沉淀,内外传播,用产品和技术助力通信行业的发展;另一方面发表浩鲸专家观点,品读行业、品读市场、品读趋势,脑力激荡,用远见和创新推动通信行业变革。

评论

发布
暂无评论
实时数仓实战_数据_鲸品堂_InfoQ写作社区