写点什么

大数据读性能 5 倍提升、写性能 10 倍提升,顺丰实时数据湖是如何做到的?

  • 2022-07-25
  • 本文字数:2498 字

    阅读完需:约 8 分钟

大数据读性能 5 倍提升、写性能10倍提升,顺丰实时数据湖是如何做到的?

为满足前端业务决策分钟级需求响应,顺丰科技建立了实时数据湖,实现了整个数据体系的巨大提升。我们采访了顺丰科技大数据架构负责人林国强,请他就云原生实时数据湖实践进行了分享。本文为采访整理文~

 

InfoQ:顺丰科技科技为什么要建立实时数据湖?云原生实时数据湖有哪些优势?

 

林国强:顺丰科技以前的数仓,是基于 Hive/Spark 架构,指标时效是 T+1 天,而前端的业务决策和业务运营给科技侧提出了更高的需求,希望指标时效能够做到分钟级,这是顺丰要建立实时数据湖的缘由。实时数据湖的优势非常简单,就是快,能够大大提高整个数仓体系的指标时效,为后续的业务提供更快的支撑。

 

InfoQ:顺丰科技科技实时数据湖是基于哪项数据湖框架开发的?

 

林国强:顺丰科技主要基于 Hudi 体系构建实时数据湖,同时修改了开源 Hudi 的一些内核,比如全增量混合状态的并行读,Parquet 块级别索引,读写的性能优化等。同时也修复了很多社区的 bug,让它能在大规模生产环境运行。

 

InfoQ:实时数据湖规模化落地过程中,遇到了哪些挑战?面对这些挑战,顺丰科技科技的解决方案是什么?

 

林国强:实时数据湖落地过程中,一个是技术层面的挑战,一个是业务层面挑战;

 

就技术方面而言,首先是写入性的问题。目前 Hudi 开源最新的版本乐观锁的优化,并没有解决读时混合状态的并发问题。比如,有一张 TestA 表,Hudi 先会读取此表的全量,再读此表的增量,如果这时候有一张 TestB 表进来,那么 Hudi 会先读 B 表的全量,然后才会去处理 TessA 表的增量。也就是说,即便这个时候 Test A 的增量在处理中了,它也会停下来先去读 TestB 表的全量,然后再去处理这个增量。Hudi 需要所有的表状态都到增量这个环节,它才会去做增量的同步。这对于多端混合状态的并发影响比较大。

 

其次是,Hudi 并没有搞定 Parquet 文件“块级别”的索引,我们使用 Hfile 去做。这样做的优势是,你在写的时候,可以直接定位到指定块进行更新,大家不需要对整个 Parquet 文件涉及到的块进行更新,这个时候,你的 I/O 的提高至少 10 倍以上;另外是 Hudi 本身对 Parquet 序列化与反序列化的问题。Hudi 会把某行所有列都序列化出来,然后再更新到对应的列之后,它全部都会反序回去。但实际上,我们可能只更新某行或者某列。我们做了一个优化,可以针对特定列进行更新,节省了许多 CPU 的计算性能。

 

最后,我们自研了 SQL 引擎,引擎针对 Hudi 进行了一些下推与优化,包括做了很多一些逻辑减值的优化。相较开源版本而言,读性能提升 3~5 倍。

 

就业务的挑战层面,主要是从传统数仓到实时数据湖迁移涉及的业务方较多,涉及的改造点集中在数据接入,这部分是需要找到愿意配合的业务方,逐步改造,形成示范效应后,再进行全面推广。Hudi 数据集成环节需要进行很多改造,比如,我们需要将原来 Insert overwrite 的语法,修改成 Merge into 语法,最后,我们从市场线开始合作,因为他们对于市场指标支撑的时效性要求比较高,最终完成了整个改造。

 

InfoQ:通过数据湖来构建实时数仓,大致分为了哪几个过程?

 

林国强:第一个阶段,顺丰最开始做数仓的时候,并非是用 Hudi 这种方式去做,我们使用用 Flink+Spark 这种架构去做数据仓库。本质上讲,实时计算方面,我们仍然在使用 Flink,离线方面还是在用 Spark,只是我们在工具层开发了批流合一工具。这些工具可以使得我们使用统一的分析入口,既同时做实时,又同时做离线,整个方案相当于是工具层统一,引擎层仍然是混合结构,这种方式有两个较大的问题。

 

一方面是指标一致性问题,顺丰每天约有 200TB 数据,通过实时和离线链路出来的指标,总会有一些细微的差别,哪一条链路的数据值得信赖是个较大的问题;另外一方面是计算资源的消耗问题,我们需要重复计算相关指标,算力消耗非常大。 

 

第二个过程,我们研究了整个行业大数据架构的发展,发现实时数仓、实时数据湖是一个比较好的方式。从业务角度来看,并非所有的指标都需要毫秒级别,99%的指标可能需要 10 分钟以内,可能只有 1%的指标需要达到毫秒级,针对这部分需求,我们引入了实时数仓的技术,从对于指标时效性要求比较高的业务线来进行合作。将所有生产线的实时与离线指标放到了 Hudi 体系,这样做之后,指标完全一致,能耗也降了下来,并且整个的分析性能比原来还要快一倍,时效性也可以满足市场线进行商业驱动的需求。 

 

第三阶段,除了将之使用在市场线之外,我们会在运营线、人机线、财务线等都进行复制。我们希望未来整个集团的绝大部分指标,都能够放到实时数据湖体系里面。

 

InfoQ:顺丰科技云原生实时数据湖发展的未来规划有哪些?

 

林国强:主要是会从存算分离、实时数仓湖仓一体三个方向进行深化。存算分离,是为了解决资源弹性伸缩问题,这个也是传统大数据遗留的问题,通过它可以实现大数据成本优化,按需伸缩;实时数仓,主要是提高数据从接入到应用的整体时效,希望未来能够达到 10 秒以内,这样,很多场景,很多架构会形成统一,不需要那么多异构集群;湖仓一体,主要是希望实时数据湖,未来在查询响应速度和并发能力这两部分能跟上现在的传统数仓,同时,在数据管理能力也能提上来,这样,一个湖就能覆盖一个企业的所有跟数据有关的场景,这是一个美好的未来。

 

InfoQ:顺丰科技是否输出此项技术对外服务,以什么方式输出?


林国强:顺丰科技目前是有做大数据 ToB 市场的,我们是以私有化产品和公有云 PaaS 两种方式提供云原生实时数据湖能力,同时提供一些企业构建实时数据湖所需要的咨询和架构设计服务。

 

嘉宾介绍:


林国强,顺丰科技科技大数据架构负责人,曾任职深信服及新华三大数据总监,中国最早一批大数据和人工智能玩家,拥有超过 10 项大数据发明专利,负责过 10 亿级超大规模大数据项目,全国实施超过 10000 个大数据节点,承载和分析超过 1000PB 以上数据。在云原生实时数据湖方面有深入研究和落地实践,致力于简单、易用、高效的大数据基础设施技术,推动大数据赋能全球产业数字化底盘。


活动推荐:

ArchSummit全球架构师峰会(北京站)即将在 8 月 18-19 日落地,我们设置了【云数据库架构设计】【微服务治理之基础架构】【微服务治理之业务架构】【数据库与存储技术】等专题,点击蓝色超链,可查看具体议题。

2022-07-25 18:365922

评论

发布
暂无评论
发现更多内容

漏洞挖掘之目录遍历漏洞

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 漏洞挖掘

淘特 Flutter 流畅度优化实践 · 二期

阿里巴巴终端技术

flutter

多批爱心物资驰援,妙可蓝多助力上海抗疫

科技新消息

张国荣《热·情》演唱会再现荧幕:AI修复解锁的经典与视听生活

脑极体

单线程的 JavaScript 是怎么实现异步的?

CRMEB

对话达梦副总经理冯源 | 假如你身处被“科技制裁”的俄罗斯-墨天轮专访

墨天轮

数据库 oracle 国产数据库 达梦

系统性能分析从入门到进阶

阿里巴巴中间件

云计算 阿里云 云原生 中间件

百度智能云天工边云融合物联网平台,助力设备高效上云

百度开发者中心

SkyWalking 分布式系统追踪

Rubble

4月日更

能直接调试的开放API?这个API Hub绝了

Liam

Jmeter Postman API swagger Mock

企业为什么需要文档协同

小炮

文档协同 团队协同

16 台服务器达成 1000 万 tpmC!挑战分布式数据库性能极限

SphereEx

opengauss ShardingSphere SphereEx apache 社区 分布式解决方案

我和TiDB的故事 | 毫无准备地不期而遇,却想说与你相遇好幸运

TiDB 社区干货传送门

【ELT.ZIP】OpenHarmony啃论文俱乐部——细数生活中的压缩点滴

ELT.ZIP

OpenHarmony 数据压缩 ELT.ZIP

BFF治理与优化实践

码猿外

架构 微服务 BFF 软件架构治理

K8S Pod 新安全策略 Pod Security Admission 介绍 | K8S Internals 系列第一期

BoCloud博云

Kubernetes Pod Security Policy Pod Security Admission

社区文章|MOSN 社区性能分析利器——Holmes 原理浅析

SOFAStack

golang GitHub 开源 SOFA

后端开发【干货知识】—Redis,Memcached,Nginx网络组件

Linux服务器开发

reactor 中间件 后端开发 组件 Linux后台开发

【ELT.ZIP】《CCF开源高校行第一期》观后感

ELT.ZIP

Linux LVS OpenHarmony ELT.ZIP CCF开源高校行

如何画好流程图

Hockor

前端 流程图

当东数西算变成一场西游记……

脑极体

聚焦丨看泛建材巨头如何实现数字化改造,推动企业业务增长

数商云

产业互联网 数字化转型 企业数字化

IP(定位数据库)地理位置查找真的能有效帮助阻止网络攻击吗?

郑州埃文科技

IP定位 IP数据库

湖仓一体架构解析

五分钟学大数据

数据湖 4月月更

招聘|欢迎加入非凸,学习Rust,了解内存和线程安全问题

非凸科技

今晚7点直播!聊一聊“进击的开源操作系统”

OpenAnolis小助手

InfoQ 龙蜥社区 CentOS停服 开源操作系统 今晚直播

集合去重的境界

flyhero

Java 程序员 后端 4月月更

被你质疑价值的混沌工程,阿里巴巴已落地实践了9年

阿里巴巴中间件

阿里云 云原生 中间件 混沌工程

什么是数据库?5分钟深入理解数据库原理。

喀拉峻

数据库 网络安全

数字化转型-信息技术引发的系统性变革

Geek_XOXO

企业数字化转型

Ben Fisch等联创爆出道德、法律丑闻,Espresso Systems风雨飘摇

BlockChain先知

大数据读性能 5 倍提升、写性能10倍提升,顺丰实时数据湖是如何做到的?_ArchSummit_林国强_InfoQ精选文章