Quickwit:云原生搜索引擎,开源替代 Datadog、Elasticsearch 和 Loki

339 阅读5分钟

Quickwit:云原生搜索引擎,开源替代 Datadog、Elasticsearch 和 Loki

在当今的云原生时代,日志、追踪和指标数据的处理变得越来越重要。无论是监控系统性能、排查问题,还是优化用户体验,都需要一个高效、可靠的搜索引擎来处理这些海量数据。今天,我们将介绍一个开源项目——Quickwit,它是一个专为云原生环境设计的搜索引擎,旨在成为 Datadog、Elasticsearch、Loki 和 Tempo 的开源替代方案。

Quickwit 是什么?

Quickwit 是一个云原生的搜索引擎,专注于可观测性数据(如日志、追踪和未来的指标数据)。它的设计目标是为云存储提供快速的搜索能力,特别适合处理大规模的日志管理和分布式追踪场景。Quickwit 不仅支持全文搜索和聚合查询,还提供了与 Elasticsearch 兼容的 API,使得用户可以无缝迁移现有的 Elasticsearch 或 OpenSearch 客户端。

主要特点

  1. 全文搜索和聚合查询:Quickwit 提供了强大的全文搜索和聚合功能,能够快速处理海量数据。
  2. Elasticsearch 兼容 API:Quickwit 支持 Elasticsearch 和 OpenSearch 的 API,用户可以轻松迁移现有的工具和客户端。
  3. Jaeger 和 OTEL 原生支持:Quickwit 原生支持 Jaeger 和 OpenTelemetry(OTEL),能够无缝集成到现有的追踪系统中。
  4. 无模式或严格模式索引:Quickwit 支持无模式(schemaless)和严格模式的索引,用户可以根据需求灵活选择。
  5. 云存储上的亚秒级搜索:Quickwit 针对云存储(如 Amazon S3、Azure Blob Storage、Google Cloud Storage 等)进行了优化,能够在亚秒级时间内完成搜索。
  6. 解耦的计算和存储:Quickwit 的架构设计使得计算和存储完全解耦,索引器和搜索器都是无状态的,能够轻松扩展。
  7. Grafana 数据源支持:Quickwit 提供了 Grafana 数据源插件,用户可以轻松将 Quickwit 集成到 Grafana 中进行可视化分析。
  8. Kubernetes 支持:Quickwit 提供了 Helm Chart,能够轻松部署在 Kubernetes 集群中。

Quickwit 的应用场景

Quickwit 的设计使其非常适合以下应用场景:

1. 日志管理

Quickwit 提供了强大的日志管理功能,能够高效地存储和搜索大规模的日志数据。无论是系统日志、应用日志还是安全日志,Quickwit 都能快速处理并提供实时的搜索和分析能力。

2. 分布式追踪

在微服务架构中,分布式追踪是排查问题的重要工具。Quickwit 原生支持 Jaeger 和 OpenTelemetry,能够无缝集成到现有的追踪系统中,帮助开发者快速定位问题。

3. 指标数据(即将支持)

虽然 Quickwit 目前主要支持日志和追踪数据,但未来的版本将增加对指标数据的支持,使其成为一个完整的可观测性解决方案。

快速入门

Quickwit 提供了详细的文档和教程,帮助用户快速上手。以下是几个常见的入门场景:

1. 在 Stack Overflow 数据集上进行搜索和分析

Quickwit 提供了一个快速入门教程,展示了如何在 Stack Overflow 数据集上进行搜索和分析。通过这个教程,用户可以快速了解 Quickwit 的基本功能和使用方法。

2. 使用 Grafana 进行追踪分析

Quickwit 支持 Grafana 数据源,用户可以通过 Grafana 对追踪数据进行分析和可视化。Quickwit 提供了一个详细的教程,帮助用户快速集成 Grafana 并进行追踪分析。

3. 使用 Jaeger 进行分布式追踪

Quickwit 原生支持 Jaeger,用户可以轻松将 Quickwit 集成到现有的 Jaeger 系统中。Quickwit 提供了一个 Jaeger 教程,帮助用户快速上手。

Quickwit 的架构

Quickwit 的架构设计使其能够在云存储上实现亚秒级的搜索性能。它的核心特点包括:

  • 解耦的计算和存储:Quickwit 的索引器和搜索器都是无状态的,计算和存储完全解耦,能够轻松扩展。
  • 云存储优化:Quickwit 针对云存储进行了优化,能够在亚秒级时间内完成搜索。
  • 分布式和高可用性:Quickwit 支持分布式部署,能够实现高可用性和高扩展性。

Quickwit 架构图

Quickwit 架构图

同类项目对比

Quickwit 作为一个云原生搜索引擎,与 Elasticsearch、Loki 和 Tempo 等工具相比,具有以下优势:

  1. 成本效益:Quickwit 的设计使其在云存储上的搜索成本显著低于 Elasticsearch。根据 Quickwit 的官方博客,Quickwit 的成本可以比 Elasticsearch 低 10 倍。
  2. 云原生优化:Quickwit 从设计之初就针对云存储进行了优化,能够在亚秒级时间内完成搜索,而传统搜索引擎如 Elasticsearch 和 Solr 则需要更多的资源。
  3. 无状态架构:Quickwit 的索引器和搜索器都是无状态的,能够轻松扩展,适合大规模的云原生环境。

总结

Quickwit 是一个强大的云原生搜索引擎,专为可观测性数据设计。它提供了与 Elasticsearch 兼容的 API,支持日志管理、分布式追踪和未来的指标数据。Quickwit 的架构设计使其能够在云存储上实现亚秒级的搜索性能,并且成本效益显著优于传统搜索引擎。如果你正在寻找一个高效、可靠的开源搜索引擎,Quickwit 无疑是一个值得尝试的选择。

如果你对 Quickwit 感兴趣,可以访问其 官方网站 获取更多信息,或者加入他们的 Discord 社区 与其他开发者交流。

本文使用 markdown.com.cn 排版