Quickwit云原生分布式搜索引擎
Quickwit 是一个用于日志管理和分析的开源、云原生、分布式搜索引擎。Quickwit 用 Rust 编写,从头开始设计,可在大型数据集上提供成本效益和高可扩展性,是 Elasticsearch 的现代且可靠的替代方案。
Quickwit 特别适合处理大型、不可变数据集和相对较低的平均 QPS。它的好处在多租户或多索引设置中最为明显。
Quickwit 的常见用例包括:
- 搜索和分析日志,从少量数据到 TB。
- 为 ClickHouse 等 OLAP 数据库添加全文搜索功能。
- 通过在同一存储上添加 Quickwit 索引文件来搜索位于云存储上的备份。
Quickwit 主要功能的非详尽列表:
- 可扩展的分布式搜索:在 Amazon S3 上托管任意数量的索引,并使用少量无状态搜索实例池在不到一秒的时间内回答搜索查询。
- 流索引:从你最喜欢的分布式事件流服务中提取 TB 数据。截至今天,Quickwit 原生支持 Apache Kafka。下一个版本将支持更多平台。
- 不会丢失数据的容错架构: Quickwit 实现了对索引的一次性处理,并将你的数据安全地存储在高度可靠的对象存储服务上,例如 Amazon S3。
- 云原生,易于操作:得益于真正的计算和存储解耦,搜索实例是无状态的,在几秒钟内添加或删除搜索节点。
- 云/分布式存储上的亚秒级全文搜索: Quickwit Search 重新设计了索引和索引数据结构,在 Amazon S3 上打开时间不到 60ms 。
- 基于时间的分片:启用时,Quickwit 按时间分片数据。借助标签功能,你可以使用第二维对数据进行分片。基于时间的查询仅访问与查询时间范围匹配的拆分(索引的数据片段),从而显着提高性能。
- Painless 多租户搜索:为每个租户创建索引,而不会影响查询性能。或者将租户分组到一个索引中,并使用标记为你的租户查询修剪不相关的拆分,以显着提高性能。
特性:
- 索引数据持久保存在对象存储中
- 摄取带有或不带有严格模式的 JSON 文档
- 摄取和聚合 API Elasticsearch 兼容
- 轻量级嵌入式用户界面
- 在一小部分资源上运行:用 Rust 编写,由强大的 tantivy 提供支持
- 开箱即用,具有合理的默认值
- 针对多租户进行了优化。无需管理费用即可添加和扩展租户
- 分布式搜索
- 云原生:Kubernetes 就绪
- 在几秒钟内添加和删除节点
- 解耦计算和存储
- Sleep like a log:你所有的索引数据都安全地存储在对象存储中(AWS S3...)
- 以准确无误的语义你的文档
- Kafka 原生摄取
- 在 ClickHouse 中显着解锁全文搜索的搜索流 API
评论