gpt4 book ai didi

elasticsearch - 与 Elasticsearch 相比,Apache Pinot 如何索引数据?

转载 作者:行者123 更新时间:2023-12-04 16:38:17 25 4
gpt4 key购买 nike

Elasticsearch 和 Pinot 都在内部使用 Apache Lucene。他们的索引策略有何不同?
附言由于一个糟糕的问题,我完全有效的答案被删除了,因为它是“基于意见的”。因此,发布带有有效问题的答案,以便它对社区有用。

最佳答案

Apache Pinot 和 Elasticsearch 解决了不同的问题。
Elasticsearch 是一个用于全文搜索、模糊查询、搜索词自动完成等的搜索引擎。它使用一种叫做倒排索引的东西来实现这一点。传统索引使用排序索引,其中文档存储为键,关键字存储为值。在这种情况下,查询延迟会非常高,因为需要搜索整个文档。但是在倒排索引中,关键字存储为键,文档 ID 存储为值。在这里,由于只需要搜索搜索关键字,查询延迟会非常低。因此,Elasticsearch 使用倒排索引来解决其核心目的,即“搜索”。
Apache Pinot 不是为“搜索”而构建的。它是为实时分析而构建的。它使用一种叫做星树索引的东西,它类似于数据所有维度的所有组合的预聚合值存储。如您所见,Apache Pinot 对数据的聚合派生/减少感兴趣,而不是数据本身。它使用这些预先聚合的值来提供非常低延迟的数据实时分析。
Apache Pinot 的一个非常重要的用例是计算实时每个用户级别的分析并呈现面向每个用户的实时仪表板。 Elasticsearch 也可以使用 Kibana 呈现实时仪表板,但由于它使用倒排索引方法,因此不适用于每用户级别的分析,因为这会给服务器带来巨大负载,并且需要大量弹性实例。由于这个上限,Elasticsearch 不适合每个用户级别的分析。
因此,如果您希望在您的应用程序中具有搜索功能以及每个用户级别的分析,最好的方法是让 Elasticsearch 和 Pinot 消费者通过并行管道从同一个 Kafka 主题中摄取数据。这样,当 Elasticsearch 为搜索目的索引数据时,Pinot 将处理数据以进行每个用户级别的分析。

关于elasticsearch - 与 Elasticsearch 相比,Apache Pinot 如何索引数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65978239/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com