Pinot 是一个实时分布式 OLAP 数据存储,专为提供超低延迟分析而构建,即使在极高吞吐量下也是如此。 它可以直接从流数据源(例如 Apache Kafka 和 Amazon Kinesis)中摄取,并使事件可用于即时查询。 它还可以从 Hadoop HDFS、Amazon S3、Azure ADLS 和 Google Cloud Storage 等批处理数据源中摄取。
系统的核心是列式存储,具有多种智能索引和预聚合技术以实现低延迟。 这使得 Pinot 最适合面向用户的实时分析。 同时,Pinot 也是其他分析用例的绝佳选择,例如内部仪表板、异常检测和临时数据探索。
Pinot 由 LinkedIn 和 Uber 的工程师构建,旨在无上限地扩大规模。 根据集群的大小和预期的每秒查询 (QPS) 阈值,性能始终保持不变。
面向用户的分析或面向站点的分析是您将直接向产品的最终用户公开的分析工具和应用程序。 在面向用户的分析应用程序中,将用户群视为应用程序的所有最终用户。 这个应用程序可以是社交网络应用程序,也可以是食品配送应用程序。 Apache Pinot不仅仅让少数分析师进行离线分析,也不仅仅让公司中的少数数据科学家在运行临时查询。 而是所有最终用户,在他们的个人设备上接收个性化分析(想想每秒 1000 次查询中的 100 次)。 这些查询是由应用程序触发的,而不是由人编写的,因此规模将与该应用程序上的活跃用户一样多(百万事件/秒)
而且,这是针对所有可能的最新数据,也就是实时分析。 对于一些企业来说,“昨天”可能是很久以前的事了,他们迫不及待地等待 ETL 和批处理作业。 他们想要的是数据一生成就进行分析(考虑延迟<1s)。
想要这样一个使用实时事件的面向用户的分析应用程序听起来很棒。 但是,支持这样的分析工作负载对底层基础设施意味着什么?
Pinot 起源于 LinkedIn,它目前拥有最大的部署之一,为 50 多个面向用户的应用程序提供支持,例如查看我的个人资料、人才分析、公司分析、广告分析等等。 在 LinkedIn,Pinot 还用作可视化和监控 10,000 多个业务指标的后端。
随着 Pinot 越来越受欢迎,几家公司现在正在生产中使用它来支持各种分析用例。 可以在此处找到使用 Pinot 的公司的详细列表。
Apache Pinot基本特性
Pinot 旨在以低延迟执行 OLAP 查询。 它适用于需要对不可变数据进行快速分析(例如聚合)的环境,并且可能需要实时数据摄取。
Pinot 是面向用户的分析产品的完美选择。 Pinot 最初是在 LinkedIn 构建的,用于支持丰富的交互式实时分析应用程序,例如 Who Viewed Profile、Company Analytics、Talent Insights 等。 UberEats Restaurant Manager 是面向客户的分析应用程序的另一个示例。 在 LinkedIn,Pinot 为 50 多种面向用户的产品提供支持,每秒摄取数百万个事件,并以毫秒延迟每秒处理 10 万次以上的查询。
Pinot 还可用于执行典型的分析操作,例如对大规模多维数据进行切片和切块、向下钻取、上卷和旋转。 例如,在 LinkedIn,Pinot 为数以千计的业务指标提供仪表板。 可以连接各种 BI 工具,例如 Superset、Tableau 或 PowerBI,以可视化 Pinot 中的数据。
除了在 Pinot 中可视化数据之外,还可以运行机器学习算法来检测 Pinot 中存储的数据的异常情况。 有关如何使用 Pinot 进行异常检测和根本原因分析的更多信息,请参阅 ThirdEye。
本文为从大数据到人工智能博主「xiaozhch5」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://lrting.top/backend/bigdata/pinot/pinot-basic/4360/