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

简介: 随着开源技术与云原生的高度融合,阿里云开源大数据平台在功能性、易用性、安全性上积累了丰富的实践经验,已成功服务数千家企业,助力其聚焦自身核心业务优势,缩短开发周期、简化运维难度,拓展更多业务创新。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

相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
2天前
|
测试技术 块存储 开发者
阿里云块存储团队软件工程实践
本文介绍了阿里云团队软件工程实际开发流程,并简述了开发过程中遇到的一些问题。且附带案例,以及遇到案例中出现的情况应当如何应对。
|
3天前
|
Kubernetes 监控 Cloud Native
构建未来:云原生架构的演进与实践
【4月更文挑战第30天】 随着数字化转型的不断深入,企业对IT基础设施的要求日益提高。云原生技术以其独特的弹性、可扩展性和敏捷性成为推动现代应用开发的关键动力。本文将探讨云原生架构的核心组件、实施策略以及面临的挑战,旨在为读者提供一个关于如何有效构建和部署云原生应用的全面视角。
|
3天前
|
Cloud Native Devops 持续交付
构建未来应用:云原生架构在现代企业中的实践与挑战
【4月更文挑战第29天】 随着数字化转型的加速,企业正迅速转向云计算以支撑其业务敏捷性和创新。云原生技术,作为推动这一转型的关键因素,正在重新定义软件开发和运维模式。本文将深入探讨云原生架构的核心组件,包括容器化、微服务、持续集成/持续部署(CI/CD)以及DevOps文化,并分析这些技术如何帮助企业实现弹性、可扩展和高效的应用部署。同时,我们将讨论在采纳云原生实践中所面临的挑战,包括安全性、治理和人才缺口等问题。
|
3天前
|
运维 Cloud Native Devops
构建未来应用:云原生架构的演进与实践
【4月更文挑战第29天】在数字化转型的浪潮中,企业亟需灵活、高效的技术支撑来应对市场的快速变化。云原生架构以其独特的设计理念和技术栈,成为推动这一变革的关键力量。本文深入探讨了云原生的核心概念、关键技术和实施策略,旨在为企业提供一个清晰的云原生转型蓝图,助力其构建更加动态、可扩展的应用系统。
|
4天前
|
Kubernetes Cloud Native 持续交付
构建未来:云原生架构在现代企业中的应用与实践
【4月更文挑战第29天】 随着数字化转型的浪潮席卷各行各业,企业对于信息技术基础设施的要求日益提高。传统的IT架构已难以满足快速迭代、灵活扩展和持续创新的需求。本文聚焦于云原生架构,一种为云计算环境量身打造的设计理念和技术集合,旨在帮助企业构建更加灵活、可靠和高效的系统。通过对云原生核心组件的解析、实施策略的探讨以及成功案例的分析,我们揭示了云原生架构如何助力企业在竞争激烈的市场中保持领先地位。
|
8天前
|
人工智能 边缘计算 Cloud Native
云原生架构的未来展望与实践挑战
【4月更文挑战第24天】在数字化转型的浪潮中,云原生架构以其高度灵活、可扩展的特点成为企业技术战略的核心。本文深入探讨了云原生技术的最新发展趋势,分析了在实际部署和运维过程中面临的挑战,并提出了相应的解决方案。通过实例分析,本文旨在为企业实施云原生架构提供参考和指导。
|
9天前
|
Cloud Native Devops 持续交付
构建未来:云原生技术在现代IT架构中的演进与实践
【4月更文挑战第24天】 随着企业数字化转型的深入,云原生技术正成为推动创新和敏捷性的关键技术。本文聚焦于云原生技术的发展历程及其在现代IT架构中的应用,探讨了如何利用容器化、微服务、DevOps和持续集成/持续部署(CI/CD)等核心概念来优化资源利用率,提高系统弹性,并加速产品上市时间。通过分析多个行业案例,文章揭示了云原生实践对企业竞争力的显著影响,并提出了面向未来的IT架构战略建议。
|
17天前
|
SQL 运维 DataWorks
Flink CDC在阿里云DataWorks数据集成应用实践
本文整理自阿里云 DataWorks 数据集成团队的高级技术专家 王明亚(云时)老师在 Flink Forward Asia 2023 中数据集成专场的分享。
481 2
Flink CDC在阿里云DataWorks数据集成应用实践
|
3天前
|
域名解析 弹性计算 Linux
阿里云购买云服务器、注册域名、备案及绑定图文教程参考
本文为大家介绍了2024年购买阿里云服务器和注册域名,绑定以及备案的教程,适合需要在阿里云购买云服务器、注册域名并备案的用户参考,新手用户可通过此文您了解在从购买云服务器到完成备案的流程。
阿里云购买云服务器、注册域名、备案及绑定图文教程参考
|
1天前
|
存储 弹性计算 固态存储
阿里云服务器CPU内存配置详细指南,如何选择合适云服务器配置?
阿里云服务器配置选择涉及CPU、内存、公网带宽和磁盘。个人开发者或中小企业推荐使用轻量应用服务器或ECS经济型e实例,如2核2G3M配置,适合低流量网站。企业用户则应选择企业级独享型ECS,如通用算力型u1、计算型c7或通用型g7,至少2核4G配置,公网带宽建议5M,系统盘可选SSD或ESSD云盘。选择时考虑实际应用需求和性能稳定性。