BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Pinot:LinkedIn的实时数据分析系统

| 作者 谢丽 关注 11 他的粉丝 发布于 2014年10月14日. 估计阅读时间: 2 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

Pinot是一个适用于Web的实时数据分析系统,由LinkedIn设计开发,现在已经成为LinkedIn的分布式实时数据分析基础设施,支撑着LinkedIn内外30多个分析产品。LinkedIn的各种数据跟踪功能都是在Pinot的基础上实现的,如最近哪些用户查看了特定用户的资料,哪些用户在关注某个公司等。

GigaOM报道,在LinkedIn还是一家初创企业的时候,其工程团队分成了若干不同的组,每个组使用的数据存储系统差别很大,如将Oracle的关系型数据库用于查询,而将Voldemort用于键值存储。但随着LinkedIn的日益发展以及用户数据的增多,这些不同的系统变得难以扩展。

Praveen Neppalli Naga是LinkedIn的一名项目经理。他告诉GigaOM,为了解决上述问题,他与其团队开始构建一个集中式系统。该系统既要能够整合LinkedIn的所有数据,又要能够简化以它为基础的数据密集型产品的构建过程。为了集中管理LinkedIn的数据,他们选用Hadoop基础架构模型作为Pinot的基础,并根据需要做了修改。然后,他们就可以编写Hadoop脚本,检索建有索引的用户数据。

由于LinkedIn的数据维度众多,Pinot需要能够支持多种类型的索引。例如,一个人就读的大学是一个不会变化数据点,而他拥有的技能类型会发生变化,因此它们的索引方式应该不同。下面是Pinot的系统架构图:

另外,为了能够快速准确的响应用户请求,LinkedIn工程团队还必须找到一种方法,既能保证与请求相关的最新数据随时可用,又能保证老数据的可用性,同时,老数据又不会混入新数据妨碍用户的查询。为了实现这个目标,他们借助Apache Kafka实现了实时数据索引过程。

据Naga说,经过了大约两年的开发,Pinot现在成了LinkedIn事实上的数据分析平台。他们正在评估将其开源,并围绕它建立一个开发社区,以推动它进一步发展。


感谢张天雷对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT