乐趣区

关于存储:FlinkHologres助力伊的家电商平台建设新一代实时数仓

简介: Hologres+Flink+DataWorks 实时数仓新计划为伊的家业务带来了对立数据、对立服务、对立治理、对立存储的价值,真的做到了开箱即用,所见即所得!

GitHub 地址
https://github.com/apache/flink
欢送大家给 Flink 点赞送 star~

广州伊的家网络科技有限公司是一家专一于服务女性的 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 提供统一标准、对立作业和对立监控等,为大数据开发平台提供对立治理。

从业务上来说,新的大数据计划真的做到了 开箱即用,所见即所得

展望未来

在大数据畛域,数据规模和业务复杂性是同时制约查问性能的关键因素,在这个过程中,唯有咱们的开发人员一直打磨本人的数据模型,当数据模型达到肯定成熟度,性能问题即可迎刃而解。

最初,心愿大家拥抱技术、拥抱变动、赢在模型,数据服务业务,数据服务利用,让咱们为利用而生,为利用而战。

作者:刘松森,伊的家 CTO,高级工程师,副教授职称,国内多所高校客座教授

版权申明:本文内容由阿里云实名注册用户自发奉献,版权归原作者所有,阿里云开发者社区不领有其著作权,亦不承当相应法律责任。具体规定请查看《阿里云开发者社区用户服务协定》和《阿里云开发者社区知识产权爱护指引》。如果您发现本社区中有涉嫌剽窃的内容,填写侵权投诉表单进行举报,一经查实,本社区将立即删除涉嫌侵权内容。

退出移动版