本文最初发布于 Apache Pinot 开发博客,由 InfoQ 中文站翻译并分享。
曾几何时,一家名为领英的互联网公司面临着无法实时分析 PB 级联网数据的挑战。由于是第一次出现这样的问题,所以只有一个解决办法。该公司组建了一支有才华的工程师团队,并指派他们为这项工作开发合适的工具。如今,这个工具被称为 Apache Pinot。
曾几何时,一家名为领英的互联网公司面临着无法实时分析 PB 级联网数据的挑战。由于是第一次出现这样的问题,所以只有一个解决办法。该公司组建了一支有才华的工程师团队,并指派他们为这项工作开发合适的工具。如今,这个工具被称为Apache Pinot。
Pinot 开始处理这个世界上最大的在线社交网络之一的传奇创新的遗留问题。在过去的几十年里,这家硅谷的科技巨头帮助了世界各地数以亿计的人找到了正确的职业生涯发展之路。如今,作为一家微软公司,领英一直在保证同事们之间的联系,伴随他们经历成功与失败,以及开启更好的职业生涯。
乍听起来可能有点奇怪,一个名为“谁看过我的资料”的功能会催生出一些最流行的开源工具,而这些工具正在改变公司构建和操作软件的方式。
Pinot 是 Apache 最新孵化的项目,它追随了Kafka、Helix和Samza等巨头的脚步,其中,Kafka正迅速成为云原生应用的支柱。如果软件确实正在吞噬世界,那么 Apache Kafka 可能要负责吞噬私有数据中心。
在 Kafka 登上行业标准消息代理的舞台之前,有硬软件问题的大公司除了运行自己的硬件之外几乎别无选择。但现如今,在 Kafka 这样的开源工具的帮助下,开发者可以在数据中心的虚拟机和云原生应用之间架起一座桥梁。
Kafka 的秘诀是什么?它将从许多不同的相互分离的系统收集的事件流转换成可以像数据库一样查询的主题,而不必真得转换成数据库。
尽管作为一种“可移植数据仓库”,Kafka 代表了一项重大的进步,但大多数应用程序开发人员仍在努力将事件流转换为复杂的查询模型,而不用去了解 Kafka 流的流入流出。
现在,Pinot的目标更进一步,它在 Kafka 之上为开发者提供了一个他们熟悉的数据库,将事件流转换为可查询的数据模型。最终的结果是,在构建和操作他们的应用程序时,开发人员就不必再考虑如何获得 Kafka 的所有好处,而只需要关注如何编写对用户最有价值的代码。
由于 Kafka 既是消息代理又是事务日志,所以它也经常被用作数据库,这就给开发人员增加了负担,他们需要维护主题中事件流的数据投影。
Pinot 提供的是一种工具,使开发者无需考虑如何使用 Kafka 主题来构建和维护来自事件流的可查询投影。事实证明,考虑事件流只会降低开发过程的速度,而且代价是数据可移植性。
查看英文原文:Moving developers up the stack with Apache Pinot
评论