行业报告 AI展会 数据标注 标注供求
数据标注数据集
主页 > 数据挖掘 > 正文

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

作者:Andrew Morgan

译者:平川 

来源:InfoQ

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

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

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

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

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

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

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

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

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

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

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

感兴趣的读者可以在线观看完整的演讲。

原文链接:

Data Engineering in Badoo: Handling 20 Billion Events per Day

微信公众号

声明:本站部分作品是由网友自主投稿和发布、编辑整理上传,对此类作品本站仅提供交流平台,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,不为其版权负责。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。

网友评论:

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
SEM推广服务

Copyright©2005-2026 Sykv.com 可思数据 版权所有    京ICP备14056871号

关于我们   免责声明   广告合作   版权声明   联系我们   原创投稿   网站地图  

可思数据 数据标注行业联盟

扫码入群
扫码关注

微信公众号

返回顶部