如何构建云原生的开源大数据平台 | InMobi 基于阿里云开源大数据服务的最佳实践

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


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

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

本文主要分享 InMobi 基于阿里云开源大数据服务的最佳实践


分享嘉宾: Murray Zhu,InMobi 技术运维负责人

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


一、公司介绍

InMobi AI 和效果驱动的全球化移动广告和营销科技平台,基于全球对接的海量 App和用户,为国内品牌和 App 提供移动广告推广和营销科技服务,为App开发者提供 App广告商业化变现服务。该平台成立于2007年,在2011年进入中国市场,以研发技术为导向,在移动端广告平台行业占据重量级地位,其专业技术在全球和中国都非常领先。InMobi 通过分布全球的23个国家和地区的本地化服务团队,触达10亿以上月活跃独立用户,提供数万个以上精细化受众分类,上千种维度标签,千万级用户自定义样本库的数据和 LBS 服务为基础的精准移动端广告。


作为一家全球领先的科技公司,InMobi CNBC 评为2019年度“全球50大颠覆公司”之一,亦被 Fast Company 杂志评为2018年度“最创新”公司之一。


二、InMobi 中国大数据解决方案

image.png

上图是 InMobi 原有的中国大数据集群架构,主要分为数据的摄入层、存储层、计算层,以及报表层。首先通过数据摄入层摄入广告前端的各种广告数据,特别是 RR 等数据,然后将数据存储到离线的 HDFS 大数据集群,再通过计算集群进行数据任务的处理,最后将处理完的任务,通过报表的方式展现给终端用户。

 

在大数据集群的运维过程中,一些问题逐渐暴露:

  • 大数据集群构建在 IDC,不利于资源伸缩和扩展

当计算资源不够用的时候,需要调配甚至暂停一些任务,优先跑重要的任务,对报表的生成并不友好

  • 数据报表实时性较差

数据报表实时性差,无法匹配业务方报表分钟级展现的需求

  • 用于处理实时报表数据的 Vertica 数据库,价格较为昂贵


三、InMobi 中国大数据集群优化方案

大数据集群的优化思考

InMobi 基于上述三个典型问题,针对优化方案进行了如下思考:

  • 构建混合云架构,引入阿里云大数据服务,解决伸缩的存储和计算资源扩展性问题

在云上开启更多大数据服务节点,通过大数据服务的弹性能力扩展短缺的计算和存储能力。特别是针对一些临时性的,如618、双十一等资源使用较为紧张的场景。

  • 通过 EMRClickHouse 替换 Vertica 数据库,提升实时报表数据查询效率,并节省成本

ClickHouse 作为一个开源产品,目前已经大规模的在中国各种互联网公司的业务场景落地

  • 构建基于 Flink+EMRClickHouse 的实时数仓体系,彻底解决数据报表实时性问题

解决数据报表实时性问题,至少达到分钟级,针对有特殊要求的报表达到秒级。


大数据集群的具体优化方案

  • 实时数仓和离线数仓解耦
  • IDC 大数据集群中,将离线数据报表资源和实时报表资源完全解耦
  • IDC 大数据集群中将离线数据报表任务和实时报表任务完全解耦
  • 重构实时数仓
  • Kafka 日志集群迁移到阿里云
  • 在阿里云上,基于 Flink+EMRClickHouse 重构实时数仓集群
  • IDC 中,将原有 Storm 任务迁移到新的实时数仓集群
  • 优化离线数仓
  • 优化和回收利用 IDC 中的 HDP 大数据集群资源,节省成本;
  • 建立离线数据仓库 Hive
  • 在阿里云上开启新的数据节点,加入到离线大数据集群,扩展存储和计算资源;
  • 在阿里云上构建新的 Flume 集群,将 KafKa 中原始数据落盘到HDFS存储


优化后的大数据集群架构

image.png

如上图所示,优化后的大数据集群架构主要分为两部分:

  • AliCloud(Real Time),阿里云主要负责实时数据的处理。

从 KafKa 中读取rr log,通过 ClickHouse 写入到实时报表,根据业务要求,从 KafKa 中读取有用数据落到 MySQI 和 PostgreSQL 上。

  • IDC (Offline),IDC 主要负责处理离线的数据和报表业务。

通过 Flume 将 KafKa 里面的原始数据全量落盘到整个 HDFS 集群进行存储,然后进行数据分析和数据规整。在离线大数据集群上,将离线报表的业务需求通过 Spark 任务全部跑出,最后再将任务写回到 ClickHouse 中做离线数据报表的展现。


四、未来更多的技术探索和落地

基于 Flink+Hologres 构建流批一体的实时数仓

众所周知,Hologres 的架构是存算分离的。计算完全部署在 K8s 上,存储可以使用共享存储,根据业务需求选择 HDFS 或者云上的 OSS,实现资源的弹性扩缩容,完美解决资源不够带来的并发问题,非常适合 InMobi 的广告业务场景。


此外,Flink 做流、批数据的 ETL 处理,将处理的数据写入 Hologres 做统一的存储和查询,实现业务端直接对接 Hologres 提供在线服务,大大提高生产效率。



以上就是 Inmobi 基于阿里云开源大数据服务的最佳实践的全部内容。





相关信息


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

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

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


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

image.psd (9).png

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
5天前
|
分布式计算 数据可视化 大数据
阿里云大牛熬夜整理的Python大数据小抄,GitHub星标125K!
Python 是一种流行的编程语言,在大数据领域有广泛的应用。Python 拥有丰富的库和工具,可用于数据处理、分析和可视化。 在大数据处理方面,Python 可以与 Hadoop、Spark 等大数据框架集成,实现大规模数据的处理和分析。它也适用于数据清洗、数据转换、数据挖掘等任务。 此外,Python 的数据分析库如 Pandas、NumPy 和 Matplotlib 等,提供了强大的数据处理和可视化功能,使得数据分析变得更加简单和高效。
|
6天前
|
数据采集 运维 Cloud Native
Flink+Paimon在阿里云大数据云原生运维数仓的实践
构建实时云原生运维数仓以提升大数据集群的运维能力,采用 Flink+Paimon 方案,解决资源审计、拓扑及趋势分析需求。
356 0
Flink+Paimon在阿里云大数据云原生运维数仓的实践
|
10天前
|
分布式计算 数据可视化 大数据
阿里云大牛熬夜整理的Python大数据小抄,GitHub星标125K!
Python 是一种流行的编程语言,在大数据领域有广泛的应用。Python 拥有丰富的库和工具,可用于数据处理、分析和可视化。 在大数据处理方面,Python 可以与 Hadoop、Spark 等大数据框架集成,实现大规模数据的处理和分析。它也适用于数据清洗、数据转换、数据挖掘等任务。 此外,Python 的数据分析库如 Pandas、NumPy 和 Matplotlib 等,提供了强大的数据处理和可视化功能,使得数据分析变得更加简单和高效。
|
12天前
|
关系型数据库 分布式数据库 数据库
PolarDB,阿里云的开源分布式数据库,与微服务相结合,提供灵活扩展和高效管理解决方案。
【7月更文挑战第3天】PolarDB,阿里云的开源分布式数据库,与微服务相结合,提供灵活扩展和高效管理解决方案。通过数据分片和水平扩展支持微服务弹性,保证高可用性,且兼容MySQL协议,简化集成。示例展示了如何使用Spring Boot配置PolarDB,实现服务动态扩展。PolarDB缓解了微服务数据库挑战,加速了开发部署,为云原生应用奠定基础。
153 3
|
12天前
|
存储 弹性计算 大数据
阿里云ECS以其强大的弹性计算与存储能力,为大数据处理提供了灵活、高效、成本优化的解决方案
阿里云ECS在大数据处理中发挥关键作用,提供多样化实例规格适应不同需求,如大数据型实例适合离线计算。ECS与OSS集成实现大规模存储,通过Auto Scaling动态调整资源,确保高效运算。案例显示,使用ECS处理TB级数据,速度提升3倍,成本降低40%,展现其在弹性、效率和成本优化方面的优势。结合阿里云生态系统,ECS助力企业数据驱动创新。
28 1
|
12天前
|
存储 弹性计算 大数据
阿里云ECS在大数据处理中展现高效存储与计算实力,提供多样化实例规格适应不同需求
【7月更文挑战第3天】阿里云ECS在大数据处理中展现高效存储与计算实力,提供多样化实例规格适应不同需求,如大数据型实例配备高吞吐硬盘。与OSS集成实现大规模存储,通过Auto Scaling动态调整资源,确保任务高效运行。案例显示,使用ECS能提升处理速度、降低成本,为企业数据驱动创新提供有力支持。
31 1
|
16天前
|
分布式计算 Cloud Native 大数据
《阿里云产品四月刊》—云原生大数据计算服务 MaxCompute 新功能
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
|
17天前
|
SQL 存储 运维
网易游戏如何基于阿里云瑶池数据库 SelectDB 内核 Apache Doris 构建全新湖仓一体架构
随着网易游戏品类及产品的快速发展,游戏数据分析场景面临着越来越多的挑战,为了保证系统性能和 SLA,要求引入新的组件来解决特定业务场景问题。为此,网易游戏引入 Apache Doris 构建了全新的湖仓一体架构。经过不断地扩张,目前已发展至十余集群、为内部上百个项目提供了稳定可靠的数据服务、日均查询量数百万次,整体查询性能得到 10-20 倍提升。
网易游戏如何基于阿里云瑶池数据库 SelectDB 内核 Apache Doris 构建全新湖仓一体架构
|
13天前
|
人工智能 分布式计算 数据挖掘
阿里云 MaxCompute MaxFrame 开启免费公测,统一 Python 开发生态
阿里云 MaxCompute MaxFrame 开启免费公测,统一 Python 开发生态。分布式计算框架 MaxFrame 支持 Python 编程接口并可直接复用 MaxCompute 弹性计算资源及海量数据,100%兼容 Pandas 且自动分布式,与 MaxCompute Notebook、镜像管理等功能共同构成了 MaxCompute 的 Python 开发生态。用户可以以更熟悉、高效、灵活的方式在 MaxCompute 上进行大规模数据分析处理、可视化数据探索分析以及科学计算、ML/AI 开发等工作。
122 0
|
14天前
|
分布式计算 安全 大数据
大数据计算MaxCompute
【7月更文挑战第1天】大数据计算MaxCompute
25 0