如何将AI能力与大数据技术结合,助力数据分析治理等工作的效率大幅提升,优化大数据引擎的性能及成本? 了解详情
写点什么

Badoo 的数据工程:每天处理 200 亿个事件

  • 2019-08-18
  • 本文字数:947 字

    阅读完需:约 3 分钟

Badoo的数据工程:每天处理200亿个事件

Badoo是一个约会社交网络,目前每天处理 200 亿个事件,数据平台工程主管 Vladimir Kazanov 解释说。在 Skills Matter,他谈到了在这种规模下运行的一些挑战,以及 Badoo 使用什么工具来处理这些数据并生成报表。


Badoo 的商业智能部门的目标是收集用户事件信息,对其进行处理并生成报表,从而创建见解。正是这些见解帮助公司做出有条理的决策。Kazanov 解释说,这些不可或缺的事件经历了一个生命周期:


  1. 接收:使用Protobuf生成用于生成事件的各种客户端库。然后通过LSD(一个用于过滤和路由事件的开源流处理守护进程)对这些事件进行流处理。

  2. 存储:数据以ORC文件格式存储在数据湖中,运行在HDFS上。具有模式的事件存储在Exasol中,这是一个列式分布式分析数据库。

  3. 处理:数据使用Spark处理,Spark 是一个基于 Java 的分布式计算框架,允许在集群上查询数据。

  4. 报表:使用一个名为microstrategy的报表工具,它允许使用仪表板和报表查询 Exasol。此外,还使用了一个名为CubeDB的自定义工具,旨在更快地运行专用报表查询。


为了创建一个新的事件,首先,业务分析人员为它创建一个模式。从这个模式中,可以为各种平台生成 Protobuf 客户端库。Kazanov 将这种跨平台支持视为其核心优势之一,因为它使移动和 Web 应用程序可以轻松地开始发布这个新事件。


当通过 LSD 对事件进行流处理时,Badoo 每小时对这些数据进行批处理,而不是实时处理。这是因为,在失败的情况下,Kazanov 认为重新加载一个批处理更容易,因为与目标数据库进行比较以查看批处理编写是否正确非常简单。


Kazanov 还认为,在 ORC 中存储数据特别有用。他列出了一些原因,如面向列、具有强大的压缩特性,以及它受到多个应用程序的支持。还可以使用Hive轻松地对它进行查询。Hive 是 Hadoop 之上的一个数据库,使用类似 SQL 的查询语言。


谈到查询数据时,Kazanov 解释说,Exasol 的优点之一是使用 SQL。对于开发人员来说,学习曲线比较低,他们不需要学习新的查询语言。但最重要的是,他认为核心的好处在于性能:


Exasol 允许我们在集群中存储 TB 级的数据,并对其进行真正高效的查询。我说的是分钟级,而类似的系统差距较大。


感兴趣的读者可以在线观看完整的演讲,也欢迎为 Badoo 的开源工具如CubeDB做贡献。


原文链接:


Data Engineering in Badoo: Handling 20 Billion Events per Day


2019-08-18 08:007762
用户头像

发布了 520 篇内容, 共 235.9 次阅读, 收获喜欢 1257 次。

关注

评论

发布
暂无评论
发现更多内容

关系中的密码:麻烦

熊斌

个人成长 28天写作 亲密关系

28天瞎写的第二百一二天:一次删库没跑路的故事

树上

28天写作 删库

Flink 自定义Avro序列化(Source/Sink)到kafka中

大数据老哥

大数据 flink hadoop

三只猫

写在再次学习python之前-why篇

赵开忠

Python 28天写作

自下而上的问题清单

将军-技术演讲力教练

28天写作

架构师训练营第 1 期 - 大作业1

Anyou Liu

架构师训练营第 1 期

【计算机内功修炼】三:一文彻底理解IO多路复用

码农的荒岛求生

epoll

架构师训练营大作业(一)

曾彪彪

「架构师训练营第 1 期」

HDFS SHELL详解(1)

罗小龙

hadoop 28天写作 hdfs shell

生产环境全链路压测建设历程 24:FAQ 5、6负载均衡、如何不影响正常业务?

数列科技杨德华

28天写作

第2周总结-架构中的设计模式

潘涛

架构师训练营 4 期

小心!你可能搞了个假的头脑风暴!

Justin

团队协作 28天写作 头脑风暴 群体迷思 创造性思维

解读《Java开发手册(泰山版)》- 会当凌绝顶,一览众山小

xcbeyond

Java Java开发手册 28天写作

职业成长就是一个逐渐“变帅”的过程

俊毅

记一次JVM OOM 实战优化

AI乔治

Java 架构 JVM OOM

我们为什么要学习Springboot?

武哥聊编程

Java springboot SpringBoot 2 28天写作

序言 基层管理者技能修炼的九把刀

一笑

管理 28天写作

视频号发展简史&第一天数据 | 视频号28天(02)

赵新龙

28天写作

学创业,读毛选 Jan 9, 2021

王泰

28天写作 读毛选,学创业

区块链的前世今生(1)

抗哥

SafePoint 与 Stop The World 全解(基于OpenJDK 11版本)

AI乔治

Java 架构 jdk JVM

架构师训练营大作业(二)

曾彪彪

「架构师训练营第 1 期」

区块链挖矿系统APP软件开发

系统开发

CSS10 - 盒子模型&常用无序列表样式

Mr.Cactus

html/css

【Node.js】静态页面和简单的路由

德育处主任

大前端 Node 28天写作

kill -9 导致 kafka 重启失败的惨痛经历!

AI乔治

Java kafka 架构

第2周课后练习-OOD的五大原则

潘涛

架构师训练营 4 期

28天带你玩转Kubernetes--第一天(课程介绍)

Java全栈封神

Kubernetes 云原生 k8s入门 28天写作 k8s教程

我能加入写作训练营,一切都因为...

李忠良

个人成长 驱动力量 28天写作

架构师训练营第 1 期 - 第 12 周 - 命题作业

wgl

架构师训练营第 1 期

Badoo的数据工程:每天处理200亿个事件_大数据_Andrew Morgan_InfoQ精选文章