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

本文涉及的产品
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

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
3月前
|
SQL 存储 分布式计算
ODPS技术架构深度剖析与实战指南——从零开始掌握阿里巴巴大数据处理平台的核心要义与应用技巧
【10月更文挑战第9天】ODPS是阿里巴巴推出的大数据处理平台,支持海量数据的存储与计算,适用于数据仓库、数据挖掘等场景。其核心组件涵盖数据存储、计算引擎、任务调度、资源管理和用户界面,确保数据处理的稳定、安全与高效。通过创建项目、上传数据、编写SQL或MapReduce程序,用户可轻松完成复杂的数据处理任务。示例展示了如何使用ODPS SQL查询每个用户的最早登录时间。
196 1
|
3天前
|
数据采集 人工智能 分布式计算
MaxFrame:链接大数据与AI的高效分布式计算框架深度评测与实践!
阿里云推出的MaxFrame是链接大数据与AI的分布式Python计算框架,提供类似Pandas的操作接口和分布式处理能力。本文从部署、功能验证到实际场景全面评测MaxFrame,涵盖分布式Pandas操作、大语言模型数据预处理及企业级应用。结果显示,MaxFrame在处理大规模数据时性能显著提升,代码兼容性强,适合从数据清洗到训练数据生成的全链路场景...
15 5
MaxFrame:链接大数据与AI的高效分布式计算框架深度评测与实践!
|
2月前
|
存储 消息中间件 分布式计算
Cisco WebEx 数据平台:统一 Trino、Pinot、Iceberg 及 Kyuubi,探索 Apache Doris 在 Cisco 的改造实践
Cisco WebEx 早期数据平台采用了多系统架构(包括 Trino、Pinot、Iceberg 、 Kyuubi 等),面临架构复杂、数据冗余存储、运维困难、资源利用率低、数据时效性差等问题。因此,引入 Apache Doris 替换了 Trino、Pinot 、 Iceberg 及 Kyuubi 技术栈,依赖于 Doris 的实时数据湖能力及高性能 OLAP 分析能力,统一数据湖仓及查询分析引擎,显著提升了查询性能及系统稳定性,同时实现资源成本降低 30%。
Cisco WebEx 数据平台:统一 Trino、Pinot、Iceberg 及 Kyuubi,探索 Apache Doris 在 Cisco 的改造实践
|
1月前
|
机器学习/深度学习 人工智能 运维
智能化运维:AI与大数据在IT运维中的应用探索####
本文旨在探讨人工智能(AI)与大数据分析技术如何革新传统IT运维模式,提升运维效率与服务质量。通过具体案例分析,揭示AI算法在故障预测、异常检测及自动化修复等方面的实际应用成效,同时阐述大数据如何助力实现精准运维管理,降低运营成本,提升用户体验。文章还将简要讨论实施智能化运维面临的挑战与未来发展趋势,为IT管理者提供决策参考。 ####
|
2月前
|
机器学习/深度学习 存储 大数据
云计算与大数据技术的融合应用
云计算与大数据技术的融合应用
|
2月前
|
边缘计算 人工智能 搜索推荐
大数据与零售业:精准营销的实践
【10月更文挑战第31天】在信息化社会,大数据技术正成为推动零售业革新的重要驱动力。本文探讨了大数据在零售业中的应用,包括客户细分、个性化推荐、动态定价、营销自动化、预测性分析、忠诚度管理和社交网络洞察等方面,通过实际案例展示了大数据如何帮助商家洞悉消费者行为,优化决策,实现精准营销。同时,文章也讨论了大数据面临的挑战和未来展望。
ly~
|
3月前
|
供应链 搜索推荐 安全
大数据模型的应用
大数据模型在多个领域均有广泛应用。在金融领域,它可用于风险评估与预测、智能营销及反欺诈检测,助力金融机构做出更加精准的决策;在医疗领域,大数据模型能够协助疾病诊断与预测、优化医疗资源管理和加速药物研发;在交通领域,该技术有助于交通流量预测、智能交通管理和物流管理,从而提升整体交通效率;电商领域则借助大数据模型实现商品推荐、库存管理和价格优化,增强用户体验与企业效益;此外,在能源和制造业中,大数据模型的应用范围涵盖从需求预测到设备故障预测等多个方面,全面推动了行业的智能化转型与升级。
ly~
256 2
|
2月前
|
存储 分布式计算 数据挖掘
数据架构 ODPS 是什么?
数据架构 ODPS 是什么?
440 7
|
2月前
|
存储 分布式计算 大数据
大数据 优化数据读取
【11月更文挑战第4天】
61 2
|
2天前
|
分布式计算 Shell MaxCompute
odps测试表及大量数据构建测试
odps测试表及大量数据构建测试