Quickwit功能特性说明


发布于 2024-08-18 / 97 阅读 / 0 评论 /
Quickwit 是一个用于日志管理和分析的开源、云原生、分布式搜索引擎。

官网对Quickwit最简单介绍是:Search more with less, Sub-second search & analytics engine on cloud storage.

1.Quickwit简介

Quickwit 用 Rust 编写,从头开始设计,可在大型数据集上提供成本效益和高可扩展性,是 Elasticsearch 的现代且可靠的替代方案。

Quickwit 特别适合处理大型、不可变数据集和相对较低的平均 QPS。它的好处在多租户或多索引设置中最为明显。

2.Quickwit使用场景

Quickwit 的常见用例包括:

(1)搜索和分析日志,从少量数据到 TB。

(2)为 ClickHouse 等 OLAP 数据库添加全文搜索功能。

(3)通过在同一存储上添加 Quickwit 索引文件来搜索位于云存储上的备份。

3.Quickwit主要功能

Quickwit 主要功能的非详尽列表:

3.1.可扩展的分布式搜索

在 Amazon S3 上托管任意数量的索引,并使用少量无状态搜索实例池在不到一秒的时间内回答搜索查询。

3.2.流索引

从你最喜欢的分布式事件流服务中提取 TB 数据。截至今天,Quickwit 原生支持 Apache Kafka。下一个版本将支持更多平台。

3.3.不会丢失数据的容错架构

Quickwit 实现了对索引的一次性处理,并将你的数据安全地存储在高度可靠的对象存储服务上,例如 Amazon S3。

3.4.云原生,易于操作

得益于真正的计算和存储解耦,搜索实例是无状态的,在几秒钟内添加或删除搜索节点。

3.5.云 / 分布式存储上的亚秒级全文搜索

Quickwit Search 重新设计了索引和索引数据结构,在 Amazon S3 上打开时间不到 60ms 。

3.6.基于时间的分片

启用时,Quickwit 按时间分片数据。借助标签功能,你可以使用第二维对数据进行分片。基于时间的查询仅访问与查询时间范围匹配的拆分(索引的数据片段),从而显着提高性能。

3.7.Painless 多租户搜索

为每个租户创建索引,而不会影响查询性能。或者将租户分组到一个索引中,并使用标记为你的租户查询修剪不相关的拆分,以显着提高性能。

4.Quickwit主要特性

从官网看https://quickwit.io,Quickwit有以下四大特性。

4.1.云存储上最快的搜索引擎

The fastest search engine on cloud storage

这个“快”有以下四点支撑:

(1)优化文件格式,减少IO请求数量

(2)智能IO调度,使得吞吐量达到最大

(3)Quickwit用Rust语言编写,没有垃圾回收,都是向量化处理,包含SIMD。

(4)有强大的tantivy提供支持,这是最快的搜索引擎库

4.2.完美适配日志云系统和全链路跟踪系统

A perfect fit for logs and traces

主要表现在以下四点:

(1)数据存储和检索都在无限制的、成本效益高的云存储上

(2)查询以及错误排查都是直接在对象存储上,访问速率在亚秒级

(3)不带严格模式的索引

(4)使用原生的OpenTelemetry和Jaeger接口

4.3.企业化支持

Enterprise-ready

主要表现在以下四点:

(1)高可用和水平扩展性

(2)多租户支持——通过多个索引和分区优化索引

(3)过期保留和生命周期策略

(4)支持GDPR用例中不频繁、有针对性的删除

4.4.易于部署的架构

An architecture built for ease of deployment

主要表现在以下四点:

(1)计算和存储解藕

(2)单节点/多节点,一体化部署或云上部署

(3)无状态的检索器和索引器

(4)REST API