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

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

相关文章
|
10月前
|
SQL 人工智能 分布式计算
ODPS十五周年实录|构建 AI 时代的大数据基础设施
本文根据 ODPS 十五周年·年度升级发布实录整理而成,演讲信息如下: 张治国:阿里云智能集团技术研究员、阿里云智能计算平台事业部 ODPS-MaxCompute 负责人 活动:【数据进化·AI 启航】ODPS 年度升级发布
460 9
|
11月前
|
存储 数据采集 搜索推荐
Java 大视界 -- Java 大数据在智慧文旅旅游景区游客情感分析与服务改进中的应用实践(226)
本篇文章探讨了 Java 大数据在智慧文旅景区中的创新应用,重点分析了如何通过数据采集、情感分析与可视化等技术,挖掘游客情感需求,进而优化景区服务。文章结合实际案例,展示了 Java 在数据处理与智能推荐等方面的强大能力,为文旅行业的智慧化升级提供了可行路径。
Java 大视界 -- Java 大数据在智慧文旅旅游景区游客情感分析与服务改进中的应用实践(226)
|
12月前
|
存储 分布式计算 大数据
【赵渝强老师】阿里云大数据存储计算服务:MaxCompute
阿里云MaxCompute是快速、全托管的TB/PB级数据仓库解决方案,提供海量数据存储与计算服务。支持多种计算模型,适用于大规模离线数据分析,具备高安全性、低成本、易用性强等特点,助力企业高效处理大数据。
591 0
|
10月前
|
SQL 存储 分布式计算
【万字长文,建议收藏】《高性能ODPS SQL章法》——用古人智慧驾驭大数据战场
本文旨在帮助非专业数据研发但是有高频ODPS使用需求的同学们(如数分、算法、产品等)能够快速上手ODPS查询优化,实现高性能查数看数,避免日常工作中因SQL任务卡壳、失败等情况造成的工作产出delay甚至集群资源稳定性问题。
1746 36
【万字长文,建议收藏】《高性能ODPS SQL章法》——用古人智慧驾驭大数据战场
|
10月前
|
存储 分布式计算 资源调度
【赵渝强老师】阿里云大数据MaxCompute的体系架构
阿里云MaxCompute是快速、全托管的EB级数据仓库解决方案,适用于离线计算场景。它由计算与存储层、逻辑层、接入层和客户端四部分组成,支持多种计算任务的统一调度与管理。
858 1
|
自然语言处理 大数据 应用服务中间件
大数据-172 Elasticsearch 索引操作 与 IK 分词器 自定义停用词 Nginx 服务
大数据-172 Elasticsearch 索引操作 与 IK 分词器 自定义停用词 Nginx 服务
414 5
|
SQL 存储 分布式计算
ODPS技术架构深度剖析与实战指南——从零开始掌握阿里巴巴大数据处理平台的核心要义与应用技巧
【10月更文挑战第9天】ODPS是阿里巴巴推出的大数据处理平台,支持海量数据的存储与计算,适用于数据仓库、数据挖掘等场景。其核心组件涵盖数据存储、计算引擎、任务调度、资源管理和用户界面,确保数据处理的稳定、安全与高效。通过创建项目、上传数据、编写SQL或MapReduce程序,用户可轻松完成复杂的数据处理任务。示例展示了如何使用ODPS SQL查询每个用户的最早登录时间。
2043 1
|
存储 缓存 分布式计算
StarRocks x Iceberg:云原生湖仓分析技术揭秘与最佳实践
本文将深入探讨基于 StarRocks 和 Iceberg 构建的云原生湖仓分析技术,详细解析两者结合如何实现高效的查询性能优化。内容涵盖 StarRocks Lakehouse 架构、与 Iceberg 的性能协同、最佳实践应用以及未来的发展规划,为您提供全面的技术解读。 作者:杨关锁,北京镜舟科技研发工程师
StarRocks x Iceberg:云原生湖仓分析技术揭秘与最佳实践
|
存储 缓存 分布式计算
OSS大数据分析集成:MaxCompute直读OSS外部表优化查询性能(减少数据迁移的ETL成本)
MaxCompute直读OSS外部表优化方案,解决传统ETL架构中数据同步延迟高、传输成本大、维护复杂等问题。通过存储格式优化(ORC/Parquet)、分区剪枝、谓词下推与元数据缓存等技术,显著提升查询性能并降低成本。结合冷热数据分层与并发控制策略,实现高效数据分析。
408 2
|
存储 数据采集 监控
大数据技术:开启智能决策与创新服务的新纪元
【10月更文挑战第5天】大数据技术:开启智能决策与创新服务的新纪元