Dataphin流批一体的实时研发

工具与资源中心

帮助开发者更加高效的工作,提供围绕开发者全生命周期的工具与资源

https://developer.aliyun.com/tool?spm=a1z389.11499242.0.0.65452413R1MRKF&utm_content=g_1000284493

背景

每当双11全球购物狂欢节钟声响起,上千万用户涌入阿里平台,流畅而宏伟的购物体验背后是上千个阿里工程师用技术打造出的营地,支撑了每年双11所带来的数据洪峰。11月1日至11月12日0:00,天猫“双11”累计总交易额达4982亿元,同比增长26%。450个品牌成交额过亿,105个产业带成交额过1亿元,物流订单总量达到23.21亿单。这一切的背后都离不开实时计算技术。

Dataphin作为一款企业级智能数据构建与管理产品,具备全链路实时研发能力,从2019年开始支撑了集团内部天猫双11的实时计算需求。今天我们就来介绍一下Dataphin实时计算的强大能力。

传统的数仓架构

在数仓建设过程中,一般来说都是先建设离线数仓,同时围绕着离线数据所构建的应用,然后随着业务的发展或者体验的优化,再建设实时的链路去提升数据的时效性,那么在这个过程中就难免会出现相似的代码写两遍,实时和离线口径不一致等各种各样的问题,同时分别维护的成本也会增加。

传统的数仓架构流与批从存储计算的分离带来一下的问题:

  1. 效率问题:流批底层数据模型不一致,导致应用层做大量的拼接逻辑(同比、环比、二次加工等),搭建效率低且容易出错

  2. 质量问题:一个业务逻辑,两个引擎两套代码,SQL逻辑不能复用,数据一致性和质量问题难以保证

  3. 成本问题

    1. 流批存储系统隔离(面向不同写入场景),提供的数据服务不一,维护成本高

    2. 手工建数据同步任务,开发成本/存储成本高(两份)

    3. 批处理&流处理集群无法做到错峰,资源利用率低

Dataphin流批一体优势

为解决传统数仓架构的存储计算分离的问题,有了“流批一体”的思路:

  1. 流批存储透明化,查询逻辑完全一致,应用端接入成本大幅降低,点查/OLAP分析统一支持

  2. 服务层统一存储,无需手工同步,无重复存储

  3. 一套代码,两种计算模式,逻辑统一,灵活切换,研发效率大幅提升

  4. 流批计算资源混部,资源利用率提升

Dataphin在Flink流批一体的能力之上额外提供了更多的平台能力,如数据源管理、元数据管理、资产血缘、资产质量控制、预编译、调试等能力:

  1. 开发生产隔离:提供开发环境和生产环境隔离,保证开发环境开发的业务代码和生产相互之间不干扰

  2. 元数据管理:各系统组件包括数据源、元表、UDX等具备权限控制功能,敏感型配置信息加密保护。支持数据源敏感字段访问订阅。元表、函数、资源等全部单元化可视化的管理,支持跨项目鉴权(字段级)调用,让使用者聚焦业务逻辑。

  3. 流批一体:流批存储层的统一管理,实现模型层统一,流批代码统一、通过流批各自专属配置,生产独立有协同的额调度实例

  4. 研发提效

    1. 提供了预编译的能力,提供语法校验、权限校验、字段血缘提取的功能;

    2. 容器化调试,支持上传自定义数据或直接消费真实生产数据用来观察作业运行、检查各个节点的输出结果

    3. 支持元数据检索,作业依赖、字段血缘的可视化探查

  1. 稳定性及质量保障

    1. 支持流量阈值设置,防止计算资源过度竞争,避免下游系统过载

    2. 支持实时元表质量监测,可配置统计趋势监测、实时多链路对比、实时离线数据核对。

开发生产隔离

Dataphin支持开发生产隔离的项目,支持开发和生产双环境的数据源配置。这样在开发模式下,任务就会自动使用开发数据源和开发环境下的物理表;而当发布到生产环境时,Datpahin则会自动切换为生产数据源及生产环境的物理表。这个过程完全自动化,不用手动修改代码或配置。

元数据管理

Dataphin创造性的引入了实时元表和镜像表的概念,将实时研发过程中的表进行了平台化、资产化的统一管理,并简化了研发,提升研发效率和体验。

传统实时任务研发工具需要用户重复写Create table建表语句,需要进行繁琐的输入输出表映射等操作。实时元表将实时开发任务中所有用到的数据表进行了统一表构建与管理,统一维护了所有实时元表和相关schema信息。开发者在开发过程中不用重复写DDL语句;同时,也不需要进行繁杂的输入、输出、维表映射,采用简单的纯代码研发模式,简单的SET语句及权限申请,即可引用表数据,进行直接查询或写入数据,轻松做到一次建表,多次引用,大幅度提升研发效率和体验。

镜像表顾名思义则是用于维护离线表与实时表之间字段的映射关系。创建镜像表并提交发布后,就可以在流批一体的Flink任务中使用镜像表的字段,Datpahin会在编译时自动映射到流表和批表上,实现一份代码,两种计算,代码逻辑、口径变更强一致。

流批一体的代码任务

除了引入实时元表与镜像表,Dataphin也支持了流批一体的任务,使用Flink引擎作为统一的流批计算引擎,在一份代码上可同时配置流+批的任务配置,基于同一份代码生成不同模式下的实例。而对于流批差异化的代码,Dataphin也提供了不同的方式给与支持。

流批一体任务中会广泛使用镜像表,而镜像表在最终使用时会翻译为对应的流表/批表,为了适应流表/批表的多样性(流表/批表的数据源可能不一样,带来with参数中key可能不一样;流表/批表的某些设置可能不一样,比如batchSize等),可以利用tableHints进行流表/批表的对应。方法如下:

set project.table.${mode}.${key}--mode: 流任务:`stream` 批任务:batch

举个例子,设置批任务的起停时间:

set project.table.batch.startTime='2020-11-11 00:00:00';set project.table.batch.endTime='2020-11-12 00:00:00';

第二种是在Dataphin的任务配置实时和离线模式分别任务参数的方式是利用任务参数进行替换。

实时质量监控

Dataphin实时数据质量主要面向开发者,针对产品中实时产出的数据表,通过对产出结果进行数据质量分析和校验,来保障数据的最终有效与准确。Dataphin支持统计趋势监测、实时多链路对比、实时离线数据核对。

  1. 统计趋势监测:趋势监测指的是基于数据趋势变化以及专家经验以捕获波动异常的监测方式;如 实时GMV的趋势陡增有些异常

  2. 实时多链路趋势对比:实时多链路指的是在实时计算的场景中,由于数据的恢复成本较高,无法快速从起点重新计算,因此需要使用多个计算链路,当发生计算异常时,自动/手动切换计算链路,是一种用资源换稳定的策略,当有重大的保障业务时,往往会采用该种类型;如每年双十一大屏都会采用多链路保障。

  3. 实时离线核对:实时离线核对,是保障实时数据常用的一种措施,由于实时计算处于一种持续运算状态,计算时间持久且受资源与源数据的扰动较大;离线数据在逻辑、数据复用性方面可以被更好地操作,因此,为了保障实时数据的准确性,常用离线数据与实时数据进行对比;如每年双十一前都会使用离线数据对实时数据进行校验;

双十一大屏后的Dataphin

回到文章开始的天猫双十一,了解了Dataphin平台特有的能力,我们来具体拆解Dataphin为什么能支撑天猫双十一的大屏。

  1. Dataphin为实时提供研发、调试、测试、运维全链路一站式服务,极大降低用户开发门槛;

  2. 同时提供统一元数据管理,元数据仅需初始化一次,轻松做到一次建表,多次引用,让开发聚焦业务逻辑,大幅度提升研发效率和体验;

  3. 另外有数据研发经历的同学都有这样的体会,很多数据口径都惊人的类似,甚至有些只是输入输出表不同,典型的场景比如主备链路,针对这种场景我们提供了模版研发的能力,相同逻辑封装在模版中,差异逻辑通过模版参数体现,新任务仅需引用模版配置模版参数即可,极大提升研发效率的同时也降低了口径维护成本。

基于以上能力,在双十一大屏的支持上,尽管业务玩法很多,需求井喷,仍然仅以2人便支撑上百需求。

Dataphin提供任务监控及数据质量监控全方位保障任务稳定,快速发现问题;基于模版的主备多链路在异常发生时可以秒级切换,快速止血;基于实时任务血缘,快速定位问题根因;基于调试、测试、细粒度资源配置,快速验证并修复,真正做到1min发现、5min定位、10min解决。

基于流批一体的能力,真正做到代码统一,口径统一,存储统一,数据服务接口统一,研发提效的同时,保证数据一致。

未来规划

在即将发布的Flink VVP(Ververica Platform)适配版本将支持新的VVR引擎,也将在未来支持开源Flink引擎已支持更多的部署环境。Dataphin也将持续提升实时研发的能力和体验,帮助企业降低实时研发的门槛,挖掘更多的场景,获得实时数据带来的业务价值!

(0)

相关推荐

  • 基于Flink构建实时数仓实践

    导读 随着公司用户增长业务快速发展,陆续孵化出 部落.同镇.C 端会员.游戏等非常多的业务板块.与此同时产品及运营对实时数据需求逐渐增多,帮助他们更快的做出决策,更好的进行产品迭代,实时数仓的建设变得 ...

  • 汽车之家湖仓一体架构实践

    编辑整理:DataFun.Flink中文社区 导读:本文将介绍如何基于Apache Iceberg构建湖仓一体架构,将数据可见性提升至分钟级:从多维分析的角度来探讨引入Apache Iceberg带来 ...

  • 京东搜索在线学习探索实践

    文章作者:刘露.张颖.段学浩.王东旭 内容来源:京东算法架构 出品平台:DataFunTalk 导读:随着京东零售搜索业务的快速发展,对数据的时效性要求越来越高,要求搜索模型有捕捉更实时信号的能力,在 ...

  • 40亿条/秒!Flink流批一体在阿里双11首次落地的背后

    今年的双11,实时计算处理的流量洪峰创纪录地达到了每秒40亿条的记录,数据体量也达到了惊人的每秒7TB,基于Flink的流批一体数据应用开始在阿里巴巴最核心的数据业务场景崭露头角,并在稳定性.性能和效 ...

  • 极少见的满分软件,流批!

    搜罗君,每日优质搜罗 团子相机 总算是有 专门拍合照 的软件了, 要我说这才是刚需呀, 毕竟拍合照的时候自己总是最丑的, 而且马上过年了, 肯定各种合照拍个不停. 我应该算是阅软件无数了, 但专门 拍 ...

  • 四柱八字命宫小限、流月运程的批法!

    流月运程 预测流月与预测流年,在方法上是大致相同的. 首先以命局和岁运与流月干支的刑冲合化判断流月吉凶. 第二种用命宫小限配合十二神煞推算流月吉凶,最好将流月干支纳入大运,流年之中一同分析,然后参照流 ...

  • 铭普光磁研发汽车应用领域一体成型电感

    来源:电子变压器与电感网 [哔哥哔特导读]随着新能源汽车热度持续提升,汽车电气化特性越发明显,一体成型电感在汽车中的使用呈现使用场景增多的趋势. 随着新能源汽车快速推进,汽车电气化特性越发明显,一体成 ...

  • 瑞典新冠疫苗研发领跑全球,十月第一批疫苗正式上市

    @这里是瑞典                Followlocalsweden 瑞典疫苗研发流程 1.临床前测试:科学家将疫苗接种给小鼠或猴子等动物,以查看其是否产生免疫反应. 2.第一阶段安全性试验 ...

  • 第五批药品国采报价(实时更新)

    药闻康策 171篇原创内容 Official Account 点击上方 一键关注     最新最热的医药健康新闻政策 2021年6月23日,第五批国家组织药品集中采购将在上海产生拟中选结果. 资料显示 ...

  • 中国传统古村落(第一批)贵州省—-—黎平县茅贡乡流芳村

    文 |吴世先 摘自<有机慢生活>2017年 2/3月合刊 如何让上千年前流传下来的传统农业复活,如何让困顿于生计的农民持续维护生态,流芳村还面临着许多考验. 北京的"妈妈团&qu ...

  • 利用深度学习研发内窥镜实时AI图像诊断,AI Medical Service成立4年融资超50亿日元

    6月15日,达沃斯世界经济论坛(World Economic Forum)公布了2021年"全球技术先锋"榜单. 其所评企业是全球范围内,拥有行业领先核心技术和领导潜力,并且具有相 ...

  • 【案例】恒丰银行——大数据实时流处理平台

    数据猿导读 恒丰银行针对商业银行在风险.营销.科技运维.内控管理方面对实时数据处理能力的需求,基于实时流处理相关技术,构建全行统一的实时流处理平台,有力支撑了相关应用的建设,取得了良好的经济效益和社会 ...