官网对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