如何构建云原生的开源大数据平台 | 微淼基于阿里云大数据生态的应用实践

本文涉及的产品
EMR Serverless Spark 免费试用,1000 CU*H 有效期3个月
EMR Serverless StarRocks,5000CU*H 48000GB*H
简介: 随着开源技术与云原生的高度融合,阿里云开源大数据平台在功能性、易用性、安全性上积累了丰富的实践经验,已成功服务数千家企业,助力其聚焦自身核心业务优势,缩短开发周期、简化运维难度,拓展更多业务创新。10月29日,阿里云发布“如何构建云原生的开源大数据平台”解决方案,邀请到了来自阿里云、微淼、Inmobi的技术专家为大家现身说法,呈现上云实践。


随着开源技术与云原生的高度融合,阿里云开源大数据平台在功能性、易用性、安全性上积累了丰富的实践经验,已成功服务数千家企业,助力其聚焦自身核心业务优势,缩短开发周期、简化运维难度,拓展更多业务创新。10月29日,阿里云发布“如何构建云原生的开源大数据平台”解决方案,邀请到了来自阿里云、微淼、Inmobi的技术专家为大家现身说法,呈现上云实践。

288103CD-01F9-43de-842D-B960F73F7FE1.png

本文主要分享微淼基于阿里云大数据生态的应用实践,以及实时计算 Flink 版全托管在微淼的实践总结。


分享嘉宾: 乔丹,微淼大数据高级大数据开发工程师

视频地址:https://yqh.aliyun.com/live/bigdataop


一、公司简介

微淼 是一家专门从事理财、创业技能培训的公司。微淼不售卖、不代理理财及保险产品,始终致力于帮助用户树立正确的金钱观、理财观、创业观,帮助用户掌握正确的理财方法和创业技能,全面提升国民的财经素养和创业水平。目前已拥有超过800万付费用户及1500万自媒体矩阵粉丝。


二、大数据平台建设历程

微淼初期大数据平台架构

为了助力企业做出更好的业务决策,为用户提供更优质的服务,微淼在20年成立了大数据部门,同年8月开始搭建集群。

  • 背景

大数据部门成立初期,实时数据需求较少,多以离线分析为主

  • EMR 的优势
  • 创建集群方便快捷
  • 集成大量开源组件及框架
  • 运维成本低
  • 扩容方便
  • 稳定性高

EMR 创建集群很方便,在选定集群模板之后,可以一键自动化创建集群,极大的降低集群的搭建难度,有效避免搭建集群过程中的各种踩坑问题。其次,EMR 集成了大量的社区开源组件并进行了适配,避免了开源组件之间版本不兼容的问题,阿里云 EMR 团队还对大部分开源组件进行了优化,极大的提高了组件的性能。此外,EMR 还集成了 Flink 实时计算引擎。阿里云24小时在线的企业级服务,助力企业解决各种集群问题,同时提供集群调优建议,降低运维成本。EMR 扩容也很方便,申请扩容之后几分钟之内就能自动完成,无需手动部署和启动服务。阿里云对象存储 OSS 替代 HDFS 提供文件存储服务,保证安全和性能的同时,可以显著降低存储成本,无需参与维护还有无限的扩展能力。


基于大数据部门成立初期的背景及业务需求,结合阿里云 EMR 的优势,微淼搭建了基于 EMR 的大数据平台,这套架构在平台建设初期提供了很多便利。Flink 组件完成实时分析任务,Hive 组件完成离线数仓分层建模,契合大数据平台搭建的初衷,比较好的支撑了我们的业务。

image.png

面临挑战

随着微淼业务的高速增长,多个业务线齐头并进,大数据平台瓶颈突显:

  • 业务高速增长,导致数据量、任务需求量爆发式增长
  • 日增数据量同比上半年增长超过10倍
  • 调度任务数同比增长超过8倍
  • T+1离线数据分析已经不能满足业务诉求
  • 实时及准实时的分析任务急剧增加
  • 现有的实时计算架构不能满足业务的快速需求
  • 数据指标越来越多,“烟囱式”的开发导致代码耦合问题严重
  • 需求越来越多,有的需要明细数据,有的需要 OLAP 分析。单一的 Flink 开发模式难以对付多种需求
  • 每个需求都需要申请资源,导致资源成本急速膨胀,EMR 集群资源吃紧,出现实时任务和离线任务抢占资源的情况
  • 核心组件 Flink 升级困难,大版本升级相当于重新创建集群,人力成本较高


阿里云开源大数据平台解决方案架构

基于上述业务增长带来的问题,微淼大数据研发团队开始构建2.0版本的实时计算架构。一方面引入了一批新的组件,丰富了整个平台的架构;另一方面,对实时计算架构进行了优化和升级,引入了实时数仓的概念模型。


针对数据量激增:

  • 广泛使用对象存储 OSS,减小存储压力,降低存储成本
  • 对集群资源进行隔离和优化  

广泛使用阿里云对象存储 OSS 替代 HDFS 作为离线数仓的存储服务,大大减小了的存储压力,降低了存储成本。计算和存储分离的架构使集群的计算资源得到了更充分的利用,计算资源和存储资源相匹配,使得整个集群资源利用率超过了50%。同时对集群进行资源隔离优化,很大程度上节省了成本。


针对实时分析任务需求量大增

  • 引入 Hudi 及 OLAP 组件
  • 增量更新,提升数据支持响应速度
  • OLAP 组件引入,替代部分实时 OLAP 的工作量,使得开发成本大大降低

针对实时、准实时分析任务需求量大增,引入了 Hudi 数据湖和 OLAP 组件 Doris。Hudi 集成 Presto 和 Spark 引擎后,可以达到近实时的查询和分析,解决了大部分的准实时需求。Doris 是一款对海量数据进行快速分析的MPP架构数据库,在数据分析领域有着简单易用、高性能等特点,支持明细查询、聚合分析、多维分析等,秒级到毫秒级的响应满足了大部分的实时需求。


针对现有的实时计算架构不能满足业务的快速发展

  • 进行实时数仓搭建探索
  • 实时数仓分层,避免“烟囱式”开发
  • 引入 OLAP 分析引擎,灵活的处理多样的分析需求
  • 引入实时计算Flink版,更灵活的版本选择,更彻底的计算资源隔离。

针对 Flink 版本问题,引入了阿里云实时计算 Flink 版全托管,提供灵活的扩缩容,同时有更丰富的版本,可以根据任务需求选择不同的 Flink 版本。阿里云实时计算 Flink 版全托管对版本的支持,紧跟社区,可以实现从1.10~1.13各个版本之间的灵活切换,完美解决了 Flink 升级难题。此外,实时计算 Flink 版全托管和 EMR 资源也是完全隔离的,很好地解决了实时任务和离线任务抢占资源的问题。

image.png

架构升级带来的技术演进

微淼大数据研发团队也对实时计算架构进行了升级,参考离线数仓将实时数仓根据分层设计的思想分为了4层。


实时数仓四层模型:

  • ODS 层:
  • 贴源存储埋点数据各种日志

ODS 层,也就是常说的实时数据接入层。通过数据采集工具把各个业务系统的实时数据采集过来,统一进行结构化处理。这个过程不过滤数据,尽量保证数据的原貌。这层数据的主要来源包含三部分,第一部分是业务方接受的 MQ 消息,第二部分是业务数据库的binlog 日志,第三部分是埋点日志和应用程序日志,这三部分最终统一写入 KafKa 中。


  • DW 明细层:
  • 流数据关联维表统一进行ETL,统一进行去重,过滤,分流等动作,生成公共行为明细表和业务行为明细表
  • 业务明细表关联各自业务维表形成了业务主题明细表
  • 明细表写入 OLAP 引擎,以便进行 OLAP 分析和快速汇总

DW 明细层,也就是明细中间层。这层以业务过程作为建模驱动,基于具体的业务过程事件来构建。比如交易过程有下单事件、支付事件等,基于这些事件进行明细层的构建。在这层,明细数据参考离线数仓的主题域进行划分,也会采用维度建模的方式组织数据,对一些重要的维度字段做适当的冗余。这层的数据来源于 ODS 层,通过 Flink 进行数据清洗,多流关联补全维度,最终也写入 KafKa 中。实时维表层用来存放维度数据,主要用于 DW 层宽化处理时数据补全使用。这层的数据主要存储于 HBase 中。后续还会基于 QPS 和数据量的大小,灵活选择更合适的存储介质,比如 Redis。


  • DWS 汇总层
  • 读取业务主题明细表计算出各业务主题关心的通用维度和指标,并存储到 OLAP引擎中

DWS 层,也就是实时汇总层。这层通过 DW 层的数据进行多维汇总,提供给下游业务方使用。在实际应用过程中,不同业务使用维度汇总的方式可能不同,根据不同的需求可以采用不同的技术方案去实现。第一种方案,采用 Flink 进行实时汇总,然后将结果指标写入 HBase 或 MySQL 等数据库中。这种方式的优点是实现逻辑比较灵活,缺点是聚合力度比较固化,不容易扩展。第二种方式,采用实时 OLAP 工具进行汇总,这种方式的优点是容易扩展,缺点是业务逻辑需要在中间层预处理。


  • ADS 层:
  • 提供 ad-hoc 查询和实时大盘服务

ADS 层,也就是实时应用层。这层数据已经写入应用系统的存储中,比如写入 Doris 作为 BI 看板的实时数据集,或者提供实时 OLAP 服务,写入HBase,MySQL 用于提供统一的数据服务接口。


Flink+OLAP 实时数仓促进业务价值提升

基于新的平台架构和实时数仓架构,微淼快速稳定地支撑了业务的需求。近2个月就对公司业务进行了如下支持:

  • 研发并部署了5个大中型项目
  • 开发并调度20个任务
  • 支持了5个业务系统
  • 支持了7个实时可视化看板


运营方面的提升:

  • “催到课”功能提升到课率10.5%
  •  直播指标实时监控提升续费率1.5%
  •  落地页访问情况实时监控促进产品优化落地页13


实时产出的精准数据,给运营和投放团队争取到了宝贵的决策时间;给老师提供了有力的实时教学数据支持,获得了各个需求方的一致肯定。


三、与阿里云未来的合作规划

从实时计算到实时数仓,不管是数据架构还是技术方案,微淼在深度和广度上都有了更多的积累。


随着公司业务的快速发展以及新技术的不断推出,实时数仓也会不断的迭代优化。比如 OLAP 引擎目前使用的是 Apache Doris,后期会在这个领域和阿里云有更深入的交流。此外,还会从以下方面进一步提升实时数仓的服务能力,这些也是微淼大数据将来和阿里云一起深入讨论的方向:

  • 持续跟进实时计算 Flink 版的使用体验
  • 完善实时数仓血缘关系,提升任务和表的质量监控
  • 完善元数据管理体系
  • 完善 Flink 作业的监控,建立实时数仓价值评估体系,量化投入和产出
  • 进一步强化实时任务的鲁棒性


以上就是微淼基于阿里云大数据生态的应用实践,以及实时计算 Flink 版全托管在微淼的实践总结的全部内容。





相关信息


点击链接观看直播回放,超多活动信息等你来

https://yqh.aliyun.com/live/bigdataop

⭐更多EMR相关信息,欢迎前往EMR产品详情页:    https://www.aliyun.com/product/emapreduce


欢迎钉钉扫码加入EMR相关产品交流群,为您提供最新的产品直播、产品活动及技术支持!

image.psd (9).png

相关文章
|
1月前
|
消息中间件 人工智能 安全
云原生进化论:加速构建 AI 应用
本文将和大家分享过去一年在支持企业构建 AI 应用过程的一些实践和思考。
445 29
|
3月前
|
运维 NoSQL Serverless
|
2月前
|
Cloud Native 算法 区块链
站在巨人的肩膀上:gRPC通过HTTP/2构建云原生时代的通信标准
gRPC是云原生时代高效通信标准,基于HTTP/2实现,支持四种服务方法。通过.proto文件定义接口,生成多语言Stub,实现跨语言调用。其请求响应结构清晰,结合Headers、Data帧与Trailers,保障高性能与可扩展性,广泛应用于微服务架构中。
180 0
|
3月前
|
存储 数据采集 搜索推荐
Java 大视界 -- Java 大数据在智慧文旅旅游景区游客情感分析与服务改进中的应用实践(226)
本篇文章探讨了 Java 大数据在智慧文旅景区中的创新应用,重点分析了如何通过数据采集、情感分析与可视化等技术,挖掘游客情感需求,进而优化景区服务。文章结合实际案例,展示了 Java 在数据处理与智能推荐等方面的强大能力,为文旅行业的智慧化升级提供了可行路径。
Java 大视界 -- Java 大数据在智慧文旅旅游景区游客情感分析与服务改进中的应用实践(226)
|
3月前
|
数据采集 SQL 搜索推荐
大数据之路:阿里巴巴大数据实践——OneData数据中台体系
OneData是阿里巴巴内部实现数据整合与管理的方法体系与工具,旨在解决指标混乱、数据孤岛等问题。通过规范定义、模型设计与工具平台三层架构,实现数据标准化与高效开发,提升数据质量与应用效率。
大数据之路:阿里巴巴大数据实践——OneData数据中台体系
|
3月前
|
存储 SQL 分布式计算
大数据之路:阿里巴巴大数据实践——元数据与计算管理
本内容系统讲解了大数据体系中的元数据管理与计算优化。元数据部分涵盖技术、业务与管理元数据的分类及平台工具,并介绍血缘捕获、智能推荐与冷热分级等技术创新。元数据应用于数据标签、门户管理与建模分析。计算管理方面,深入探讨资源调度失衡、数据倾斜、小文件及长尾任务等问题,提出HBO与CBO优化策略及任务治理方案,全面提升资源利用率与任务执行效率。
|
1月前
|
人工智能 Cloud Native 算法
拔俗云原生 AI 临床大数据平台:赋能医学科研的开发者实践
AI临床大数据科研平台依托阿里云、腾讯云,打通医疗数据孤岛,提供从数据治理到模型落地的全链路支持。通过联邦学习、弹性算力与安全合规技术,实现跨机构协作与高效训练,助力开发者提升科研效率,推动医学AI创新落地。(238字)
|
3月前
|
运维 NoSQL Serverless
《第四纪元》玩得轻松,构建也轻松 | 阿里云云原生 API 网关、函数计算助力 IGame 快速构建轻休闲游戏
在轻休闲游戏流量波动大、生命周期短的背景下,传统架构难以应对成本与扩展挑战。本文介绍了基于阿里云函数计算 FC 和 Redis 构建的新一代服务器架构,实现弹性伸缩、成本优化与高效运维,助力轻休闲游戏快速迭代与稳定运营,提升开发效率并降低运维复杂度。
《第四纪元》玩得轻松,构建也轻松 | 阿里云云原生 API 网关、函数计算助力 IGame 快速构建轻休闲游戏
|
3月前
|
消息中间件 人工智能 监控
【云故事探索 | NO.15】:阿里云云原生加速鸣鸣很忙数字化
【云故事探索 | NO.15】:阿里云云原生加速鸣鸣很忙数字化
|
3月前
|
存储 监控 大数据
大数据之路:阿里巴巴大数据实践——事实表设计
事实表是数据仓库核心,用于记录可度量的业务事件,支持高性能查询与低成本存储。主要包含事务事实表(记录原子事件)、周期快照表(捕获状态)和累积快照表(追踪流程)。设计需遵循粒度统一、事实可加性、一致性等原则,提升扩展性与分析效率。