Flink+Hologres助力伊的家电商平台建设新一代实时数仓
来源:SegmentFault
时间:2023-02-16 15:32:30 263浏览 收藏
有志者,事竟成!如果你在学习数据库,那么本文《Flink+Hologres助力伊的家电商平台建设新一代实时数仓》,就很适合你!文章讲解的知识点主要包括MySQL、数据库、Elasticsearch、大数据,若是你对本文感兴趣,或者是想搞懂其中某个知识点,就请你继续往下看吧~
广州伊的家网络科技有限公司是一家专注于服务女性的B2B2C电商平台,业务范围包括护肤、彩妆、营养美容食品、私人定制服装、跨境电商等领域。自2008年孵化项目,2011年5月上线天猫商城,全国8大配送中心,妍诗美、妍膳等品牌陆续成立,并于2013年上线了伊的家自主电商平台,2020年全面启动品牌升级。伊的家以互联网主动式服务营销,打造护肤老师与客户强连接关系,从上到下严格贯彻以品质及专业为基础,以社交信任做连接,以服务获得认可的经营思路,经过持续的创新和积累,成为社交电商翘楚。
业务场景与痛点分析
伊的家是一家集开发、设计、运营、销售于一体一个B2B2B的电商平台,服务百万级会员之外,还同时支持上千级别经销商和代理商,业务应用多、数据量大、数据查询并发要求高。
伊的家技术部门在近3年经历了高速发展,在发展过程中,始终坚持业务优先,为此也进行了应用整合、拆分微服务、聚合分布式应用的多种技术升级改造,目前整个部门现状分析如下:
架构方面:多语言、多数据源、技术升级的业务入侵问题明显;
数据方面:应用拆分引发的数据孤岛问题,继而造成大量的数据复制、重新建设问题;
应用方面:从业绩的角度出发,业务方希望及时准确地看见业绩数据,对实时性有了较高需求;
效率方面:体系化的流程与工具诉求愈发强烈;
成本方面:主要问题是既懂大数据又懂业务的人才招聘难,团队建设成本高
伊的家近几年业务高速增长,数据量激增,业务复杂度也随之增大,解决在当前大数据架构之下,“人才储备难”、“业务升级受限于已有技术”、“双11活动压力大”等痛点问题已迫在眉睫。
产品选型
伊的家技术部门对于技术升级改造的需求有非常明确清晰的定义,主要围绕关存储弹性扩缩容、查询性能优化、OLAP、学习成本、查询响应、可扩展等角度进行展开,核心关注以下3个问题:
1)如何快速完成数据清洗
2)如何快速精准完成数据校验
3)如何快速进行故障恢复处理
在技术选型时始终坚持“技术选型是第一生产力”的原则,坚信技术储备没有最好只有更好,坚信技术选型是决定能力差异化所在,坚持提高一次性把事情做对的能力,坚信开放分享、认知升级的重要性。
早期耶基于Hadoop、HBase、Kafaka、Azkaban、Spark、Greenplum等开源大数据产品进行了许多摸索尝试,通过性能对比最终采用了Greenplum,但最终发现Greenplum并发能力差,只适合分析场景,并不适合高并发的查询服务。
后来,在阿里云大数据计算平台团队的建议下,伊的家技术部进行了全面架构升级,整个架构由DataWorks、实时计算Flink和Hologres组成,架构简单、学习成本非常低,仅通过SQL即可轻松跑通全链路。
下面将会给大家介绍,阿里云技术产品在伊的家落地的场景最佳实践
最佳实践
一、客户系统实践
伊的家原客户关系管理系统(CRM)主要基于MySQL、MQ、Canal以及自研应用组成,为支持业务系统切断式升级,技术部门自主研发了一套消息中间件,维护成本较高;基于Binlog、MQ、OLAP等产品自定义的数据开发流程过程繁琐复杂、维护成本极高,且因为系统要求数据有序对清洗的并发产生了一定的限制。
基于Hologres+DataWorks+实时计算Flink进行架构升级后,直接通过DataWorks数据集成将数据库数据实时写入Hologres,然后通过实时计算Flink订阅Hologres做进一步实时清洗,把结果表更新到数据库,即可直接服务业务。
整体架构清晰简单、数据精准、端到端纯实时、存储分析一体化、托管式运维、全自动工具作业,原系统15人花了3个月才完成项目上线,当前架构仅需2天即部署完成。
二、BI业绩系统实践
BI业绩系统也可以理解为实时GMV大屏,业务数据主要有两方面的要求:
- 实时
- 精准,业绩计算绝不允许出错。
原架构如下图图所示,原始数据层通过Binlog,再经过Canal套件实时写入MQ,之后根据业务域进行业务数据分层和清洗。任务调度系统更新业绩的顺序为“日-月-季度-年”,这个看似完美的方案实际存在着几个问题:
- 实时性问题:看似实时,其实过程中可能存在5~10分钟的延迟;
- 并发问题:消费的并发有一定限度。
- 运维问题:如果图中的某个环节出现问题,可能会导致系统也跟着出现问题。
- 数据清洗时效问题:清洗脚本运行一次可能需要数分钟,这期间可能会发生许多其他事情。
下图为升级后的BI业绩系统新架构。通过DataWorks实时同步明细数据至Hologres,基于Hologres数据再增加一份实时计算Flink的实时ETL作业,即可完成“日-月-季度-年”数据的加工,最后基于Hologres对上层应用提供分析查询服务。整个系统纯实时调度、实时性高、秒级延迟、全SQL开发、数据校验高效。
三、实时应用数仓架构实践
伊的家的技术部门也一直在思考如何让应用开发人员也具备大数据开发能力,如何让大数据不仅仅为大数据团队所用,还同时为应用开发团队所用。
基于实时计算FLink+Hologres+DataWorks实时数仓架构的落地,提升了数据底盘的可复用性,提高了应对业务变化的数据动态调整的灵活性,与应用团队共同构建起带数据的应用系统。
四、集团数仓架构实践
伊的家数仓团队服务在电商业务的同时,还需要支持集团内部业务。集团数仓平台如市场主流数仓架构、基于开源大数据体系构建,目前也已经全面升级为Hologres+实时计算Flink+DataWorks实时数仓架构。
业务价值与赋能
Hologres+实时计算Flink+DataWorks实时数仓新方案为业务上带来的价值主要如下:
- 统一数据:一套方案就能支持完整流程,明细表、维度表等数据统一、有序
- 统一服务:由Hologers直接提供各种线上服务,包括数据分析,数据服务等,减少接口建设。
- 统一存储:以Hologres为统一存储,多数据源都能直接写入到Hologres,无冗余存储,节约成本
- 统一治理:DataWorks提供统一标准、统一作业和统一监控等,为大数据开发平台提供统一治理。
从业务上来说,新的大数据方案真的做到了开箱即用,所见即所得。
展望未来
在大数据领域,数据规模和业务复杂性是同时制约查询性能的关键因素,在这个过程中,唯有我们的开发人员不断打磨自己的数据模型,当数据模型达到一定成熟度,性能问题即可迎刃而解。
最后,希望大家拥抱技术、拥抱变化、赢在模型,数据服务业务,数据服务应用,让我们为应用而生,为应用而战。
本篇关于《Flink+Hologres助力伊的家电商平台建设新一代实时数仓》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于数据库的相关知识,请关注golang学习网公众号!
-
499 收藏
-
244 收藏
-
235 收藏
-
157 收藏
-
101 收藏
-
259 收藏
-
411 收藏
-
476 收藏
-
312 收藏
-
244 收藏
-
195 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 507次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 497次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 484次学习