Quickwit vs Elasticsearch: Comparing Two Powerful Search Solutions

This is part of the blog series “Do you really need the Big Gun — Elasticsearch?”

Ketan Somvanshi
4 min readJun 7, 2023

Introduction —

In today’s data-driven world, finding the right search solution is crucial for businesses to extract actionable insights and unlock the value of their data. Elasticsearch has long been a popular choice for building robust search applications, but now a new contender has emerged: Quickwit. In this blog post, we will delve into a comprehensive comparison of Quickwit and Elasticsearch, exploring their architectures, infrastructure requirements, and the pros and cons of each solution.

Elasticsearch Architecture —

ES Architecture

In Elasticsearch, documents are stored in segments, which are eventually part of shards. These shards, along with their replicas, are distributed across different physical data nodes in the cluster. Each node in the cluster is responsible for both computation and storage of index data.

The architecture of Elasticsearch can be summarized as follows:

Documents: Data is stored in the form of documents, which are JSON-based entities containing the actual data to be indexed and searched.
Segments: Documents are grouped into segments, which are immutable and represent a subset of the index. Segments are stored on disk and provide the basic unit of retrieval in Elasticsearch.
Shards: Segments are further organized into shards, which are logical units of data containing a subset of the entire index. Each shard is a self-contained index and can be stored on a separate data node.
Data Nodes: Data nodes are responsible for storing and serving the index data. They handle operations such as indexing, searching, and retrieving data. Each data node typically stores one or more shards, including primary and replica shards.
Cluster: A cluster consists of multiple data nodes working together as a unified system. The nodes communicate and coordinate with each other to distribute the data, handle fail-overs, and ensure high availability.

The architecture of Elasticsearch allows for horizontal scalability and fault tolerance. By distributing shards across multiple data nodes, Elasticsearch can handle large amounts of data and provide high-performance search capabilities.

Quickwit Architecture

Quickwit Architecture

Quickwit follows a different architecture compared to Elasticsearch, separating storage and computation. It utilizes cheaper storage options such as local file storage or distributed file storage like Amazon S3, reducing the overall cost.

The architecture of Quickwit can be described as follows:

Index Storage: The index data is stored in a cost-effective storage system, such as local file storage or Amazon S3. This decoupling of storage allows for flexibility and cost optimization.
Metadata Storage: Quickwit uses a separate metadata storage system, typically leveraging databases like PostgreSQL. Metadata includes information about indexes, schemas, and other relevant details.
Indexer Nodes: Indexer nodes are responsible for processing and indexing the incoming data. These nodes do not hold the actual data but perform the computation required for indexing.
Searcher Nodes: Searcher nodes handle search queries and retrieve data from the index storage. Like Indexer nodes, they are stateless and do not store any data.
Hosting Flexibility: Quickwit can be hosted independently as ECS (Elastic Container Service) services or other container orchestration systems. This allows for scalability and flexibility in managing the compute resources.
Scaling:
Quickwit supports horizontal scaling for Searcher nodes, enabling the addition or removal of nodes as per the workload requirements. This flexibility contributes to the overall scalability of the system.

By separating storage and computation, Quickwit provides a more cost-effective solution while still delivering efficient search capabilities. It is particularly suited for smaller search use cases where lower QPS (queries per second) and acceptable latency are acceptable trade-offs.

Comparison

Comparison between ES and Quickwit

Conclusion

Choosing the right search solution depends on your specific requirements, budget, and expected scale. Elasticsearch offers a proven solution with low latency, high QPS, and support for update APIs. However, it can be costly and complex to manage. On the other hand, Quickwit provides a cost-effective and easily scalable option, suitable for smaller use cases. Consider your organization’s needs and evaluate the trade-offs outlined in this comparison to make an informed decision about which solution best fits your search requirements.

Please visit ketansomvanshi.xyz for other amazing blogs , Happy searching! ✨🚀

--

--