Query and Processing Tools
Query and processing tools are essential components of any data analytics infrastructure. They enable organizations to extract insights from large volumes of data, perform complex computations, and support decision-making processes. These tools can be broadly categorized into six main areas: query engines, stream processing, batch processing, dataframe processing, datawarehouse & OLAP, and time-series databases.
They can be broadly categorized into six main areas:
- Query Engine: Query engines are designed to efficiently retrieve and analyze data from various sources. They allow users to write and execute queries, often using SQL or SQL-like languages, to extract specific information from databases or data lakes.
- Stream Processing: Stream processing deals with real-time data analysis. It processes data as it arrives, allowing for immediate insights and actions. This is particularly useful for scenarios requiring real-time decision making or continuous data analysis.
- Batch Processing: Batch processing involves processing large volumes of data at scheduled intervals. It’s typically used for handling large datasets where immediate results are not required. Batch processing is efficient for complex analyses that require processing entire datasets.
- Dataframe Processing: Dataframe processing tools provide efficient ways to manipulate and analyze structured data in memory. They offer intuitive APIs for data transformation, aggregation, and analysis, typically optimized for performance and ease of use.
- Datawarehouse & OLAP: Datawarehouse and OLAP (Online Analytical Processing) tools are specialized systems designed for storing and analyzing large volumes of historical data, enabling complex analytical queries and multidimensional analysis.
- Time-Series Database: Time-series databases are purpose-built to ingest, store, and query timestamped data at high throughput, making them well suited for metrics, IoT telemetry, and observability workloads.
Available Tools
Here is a summary table of the main query and processing tools we have identified.
Query Engine
| Tool | Subcategory | Creation Date | Stars | Forks | Contributors | Last Release | Latest Commit | Meets Criteria* | License | Link |
|---|---|---|---|---|---|---|---|---|---|---|
| Apache Calcite | Query Engine | 25/06/2014 | 5187 | 2523 | 340 | N/A | 23/09/2026 | Yes | Apache-2.0 | https://github.com/apache/calcite |
| Apache Drill | Query Engine | 05/09/2012 | 2023 | 989 | 164 | 29/06/2025 | 16/09/2026 | Yes | Apache-2.0 | https://github.com/apache/drill |
| chDB | Query Engine | 25/02/2023 | 2906 | 135 | 19 | 11/09/2026 | 23/09/2026 | Yes | Apache-2.0 | https://github.com/chdb-io/chdb |
| Datafusion | Query Engine | 17/04/2021 | 9353 | 2432 | 426 | N/A | 23/09/2026 | Yes | Apache-2.0 | https://github.com/apache/arrow-datafusion |
| DuckDB | Query Engine | 26/06/2018 | 41669 | 3821 | 346 | 22/07/2026 | 23/09/2026 | Yes | MIT | https://github.com/duckdb/duckdb |
| Hydra | Query Engine | 22/07/2022 | 3043 | 106 | 16 | 01/04/2024 | 10/02/2025 | No | Apache-2.0 | https://github.com/hydradatabase/hydra |
| PostgreSQL | Query Engine | 21/09/2010 | 22182 | 5918 | 42 | N/A | 23/09/2026 | Yes | PostgreSQL | https://github.com/postgres/postgres |
| Presto | Query Engine | 09/08/2012 | 16745 | 5539 | 309 | 28/08/2026 | 23/09/2026 | Yes | Apache-2.0 | https://github.com/prestodb/presto |
| Quack on Demand | Query Engine | 27/05/2026 | 111 | 7 | 2 | 23/09/2026 | 23/09/2026 | No | Apache-2.0 | https://github.com/starlake-ai/quack-on-demand |
| Trino | Query Engine | 19/01/2019 | 13272 | 3788 | 334 | 18/07/2026 | 23/09/2026 | Yes | Apache-2.0 | https://github.com/trinodb/trino |
| Velox | Query Engine | 23/07/2021 | 4214 | 1612 | 288 | N/A | 24/09/2026 | Yes | Apache-2.0 | https://github.com/facebookincubator/velox |
Stream Processing
| Tool | Subcategory | Creation Date | Stars | Forks | Contributors | Last Release | Latest Commit | Meets Criteria* | License | Link |
|---|---|---|---|---|---|---|---|---|---|---|
| Apache Flink | Stream Processing | 07/06/2014 | 26359 | 14036 | 285 | N/A | 23/09/2026 | Yes | Apache-2.0 | https://github.com/apache/flink |
| Apache Kafka | Stream Processing | 15/08/2011 | 33803 | 15531 | 352 | N/A | 23/09/2026 | Yes | Apache-2.0 | https://github.com/apache/kafka |
| Apache Samza | Stream Processing | 14/03/2015 | 845 | 332 | 133 | N/A | 20/08/2026 | Yes | Apache-2.0 | https://github.com/apache/samza |
| Apache Storm | Stream Processing | 05/11/2013 | 6695 | 4031 | 284 | 12/09/2026 | 20/09/2026 | Yes | Apache-2.0 | https://github.com/apache/storm |
| Apache StreamPipes | Stream Processing | 22/04/2018 | 750 | 243 | 88 | 15/12/2025 | 22/09/2026 | No | Apache-2.0 | https://github.com/apache/streampipes |
| Arroyo | Stream Processing | 31/03/2023 | 5039 | 380 | 43 | 01/12/2025 | 23/09/2026 | Yes | Apache-2.0 | https://github.com/ArroyoSystems/arroyo |
| Bytewax | Stream Processing | 04/02/2022 | 2053 | 112 | 28 | 25/11/2024 | 20/06/2026 | Yes | Apache-2.0 | https://github.com/bytewax/bytewax |
| Faust-streaming | Stream Processing | 22/10/2020 | 1887 | 205 | 141 | 23/08/2026 | 02/09/2026 | Yes | BSD-3-Clause | https://github.com/faust-streaming/faust |
| Feldera | Stream Processing | 11/05/2023 | 2101 | 156 | 57 | 23/09/2026 | 23/09/2026 | No | MIT | https://github.com/feldera/feldera |
| Materialize | Stream Processing | 22/02/2019 | 6370 | 512 | 164 | 11/09/2026 | 24/09/2026 | Yes | BSL-1.1 | https://github.com/MaterializeInc/materialize |
| Numaflow | Stream Processing | 20/05/2022 | 2830 | 179 | 98 | 10/09/2026 | 23/09/2026 | Yes | Apache-2.0 | https://github.com/numaproj/numaflow |
| Pathway | Stream Processing | 27/11/2022 | 62244 | 1685 | 41 | 01/08/2026 | 23/09/2026 | Yes | BSL-1.1 | https://github.com/pathwaycom/pathway |
| Quix Streams | Stream Processing | 17/11/2022 | 1572 | 114 | 35 | 14/09/2026 | 23/09/2026 | Yes | Apache-2.0 | https://github.com/quixio/quix-streams |
| Redpanda | Stream Processing | 02/11/2020 | 12567 | 793 | 174 | 22/08/2026 | 20/08/2026 | Yes | BSL-1.1 | https://github.com/redpanda-data/redpanda |
| RisingWave | Stream Processing | 28/01/2022 | 9342 | 842 | 220 | 21/09/2026 | 23/09/2026 | Yes | Apache-2.0 | https://github.com/risingwavelabs/risingwave |
| Timeplus Proton | Stream Processing | 14/08/2023 | 2260 | 112 | 292 | 17/09/2026 | 20/09/2026 | Yes | Apache-2.0 | https://github.com/timeplus-io/proton |
Batch Processing
| Tool | Subcategory | Creation Date | Stars | Forks | Contributors | Last Release | Latest Commit | Meets Criteria* | License | Link |
|---|---|---|---|---|---|---|---|---|---|---|
| AmphiETL | Batch Processing | 20/03/2024 | 1409 | 108 | 10 | N/A | 24/08/2026 | Yes | Elastic-2.0 | https://github.com/amphi-ai/amphi-etl |
| Apache Beam | Batch Processing | 02/02/2016 | 8670 | 4655 | 303 | 11/08/2026 | 23/09/2026 | Yes | Apache-2.0 | https://github.com/apache/beam |
| Apache Hop | Batch Processing | 24/09/2019 | 1475 | 479 | 127 | 12/08/2026 | 23/09/2026 | Yes | Apache-2.0 | https://github.com/apache/hop |
| Apache Sedona | Batch Processing | 24/04/2015 | 2413 | 785 | 169 | 05/08/2026 | 23/09/2026 | Yes | Apache-2.0 | https://github.com/apache/sedona |
| Apache Spark | Batch Processing | 25/02/2014 | 44032 | 29397 | 331 | N/A | 23/09/2026 | Yes | Apache-2.0 | https://github.com/apache/spark |
| dbt core | Batch Processing | 10/03/2016 | 13914 | 2581 | 379 | 23/09/2026 | 23/09/2026 | Yes | Apache-2.0 | https://github.com/dbt-labs/dbt-core |
| Duckle | Batch Processing | 21/05/2026 | 1323 | 102 | 12 | 16/09/2026 | 23/09/2026 | No | Apache-2.0 | https://github.com/SouravRoy-ETL/duckle |
| Fugue | Batch Processing | 24/03/2020 | 2169 | 103 | 22 | 20/02/2026 | 20/02/2026 | Yes | Apache-2.0 | https://github.com/fugue-project/fugue |
| Odyssée | Batch Processing | 21/11/2024 | 0 | 0 | 2 | N/A | 26/06/2025 | No | N/A | https://gitlab.adullact.net/dgfip/odyssee |
| Ray | Batch Processing | 25/10/2016 | 43910 | 8074 | 410 | 23/08/2026 | 23/09/2026 | Yes | Apache-2.0 | https://github.com/ray-project/ray |
| Talaxie | Batch Processing | 28/05/2024 | 11 | 5 | 140 | N/A | 20/10/2024 | No | N/A | https://github.com/Talaxie/tdi-studio-se |
Dataframe Processing
| Tool | Subcategory | Creation Date | Stars | Forks | Contributors | Last Release | Latest Commit | Meets Criteria* | License | Link |
|---|---|---|---|---|---|---|---|---|---|---|
| cuDF (RAPIDS) | Dataframe Processing | 07/05/2017 | 9759 | 1116 | 305 | 25/08/2026 | 23/09/2026 | Yes | Apache-2.0 | https://github.com/rapidsai/cudf |
| Daft | Dataframe Processing | 25/04/2022 | 5782 | 561 | 187 | 11/09/2026 | 23/09/2026 | Yes | Apache-2.0 | https://github.com/Eventual-Inc/Daft |
| Dask | Dataframe Processing | 04/01/2015 | 13924 | 1964 | 417 | 24/08/2026 | 24/08/2026 | Yes | BSD-3-Clause | https://github.com/dask/dask |
| Ibis Project | Dataframe Processing | 17/04/2015 | 6663 | 766 | 222 | 07/02/2026 | 29/08/2026 | Yes | Apache-2.0 | https://github.com/ibis-project/ibis |
| Modin | Dataframe Processing | 21/06/2018 | 10389 | 677 | 137 | 02/10/2025 | 10/02/2026 | Yes | Apache-2.0 | https://github.com/modin-project/modin |
| Pandas | Dataframe Processing | 24/08/2010 | 49787 | 20422 | 413 | 17/09/2026 | 23/09/2026 | Yes | BSD-3-Clause | https://github.com/pandas-dev/pandas |
| Polars | Dataframe Processing | 13/05/2020 | 39849 | 3128 | 446 | 20/09/2026 | 23/09/2026 | Yes | MIT | https://github.com/pola-rs/polars |
| Vaex | Dataframe Processing | 27/09/2014 | 8509 | 598 | 66 | 29/03/2018 | 05/02/2026 | Yes | MIT | https://github.com/vaexio/vaex |
| Xarray | Dataframe Processing | 30/09/2013 | 4200 | 1362 | 417 | 09/07/2026 | 11/09/2026 | Yes | Apache-2.0 | https://github.com/pydata/xarray |
Datawarehouse & OLAP
| Tool | Subcategory | Creation Date | Stars | Forks | Contributors | Last Release | Latest Commit | Meets Criteria* | License | Link |
|---|---|---|---|---|---|---|---|---|---|---|
| Apache Hive | Datawarehouse & OLAP | 21/05/2009 | 6027 | 4797 | 259 | N/A | 23/09/2026 | Yes | Apache-2.0 | https://github.com/apache/hive |
| Apache Impala | Datawarehouse & OLAP | 13/04/2016 | 1287 | 559 | 188 | 14/09/2026 | 23/09/2026 | Yes | Apache-2.0 | https://github.com/apache/impala |
| Apache Kylin | Datawarehouse & OLAP | 03/01/2015 | 3773 | 1499 | 60 | 06/04/2025 | 01/09/2026 | Yes | Apache-2.0 | https://github.com/apache/kylin |
| ClickHouse | Datawarehouse & OLAP | 02/06/2016 | 50039 | 8994 | 310 | 22/09/2026 | 23/09/2026 | Yes | Apache-2.0 | https://github.com/ClickHouse/ClickHouse |
| Doris | Datawarehouse & OLAP | 10/08/2017 | 15992 | 3957 | 331 | 07/09/2026 | 23/09/2026 | Yes | Apache-2.0 | https://github.com/apache/doris |
| Druid | Datawarehouse & OLAP | 23/10/2012 | 14058 | 3795 | 352 | 08/05/2026 | 23/09/2026 | Yes | Apache-2.0 | https://github.com/apache/druid |
| Pinot | Datawarehouse & OLAP | 19/05/2014 | 6143 | 1514 | 365 | 05/06/2026 | 24/09/2026 | Yes | Apache-2.0 | https://github.com/apache/pinot |
| StarRocks | Datawarehouse & OLAP | 04/09/2021 | 12139 | 2597 | 395 | 31/08/2026 | 23/09/2026 | Yes | Apache-2.0 | https://github.com/StarRocks/starrocks |
*Criteria: >40 contributors, >500 stars, and recent releases/commit
Time-Series Database
Time-series databases are optimized for ingesting and querying large volumes of timestamped data at high throughput. They are commonly used for metrics, IoT sensor telemetry, and observability workloads.
| Tool | Subcategory | Creation Date | Stars | Forks | Contributors | Last Release | Latest Commit | Meets Criteria* | License | Link |
|---|---|---|---|---|---|---|---|---|---|---|
| Apache IoTDB | Time-Series Database | 24/11/2018 | 6400 | N/A | 250 | N/A | 13/06/2026 | Yes | Apache-2.0 | https://github.com/apache/iotdb |
| CrateDB | Time-Series Database | 10/04/2013 | 4400 | N/A | 150 | N/A | 13/06/2026 | Yes | Apache-2.0 | https://github.com/crate/crate |
| GreptimeDB | Time-Series Database | 11/04/2022 | 6400 | N/A | 300 | N/A | 12/06/2026 | Yes | Apache-2.0 | https://github.com/GreptimeTeam/greptimedb |
| InfluxDB | Time-Series Database | 26/09/2013 | 31500 | N/A | 40 | N/A | 12/06/2026 | Yes | MIT | https://github.com/influxdata/influxdb |
| QuestDB | Time-Series Database | 28/04/2014 | 17000 | N/A | 160 | N/A | 13/06/2026 | Yes | Apache-2.0 | https://github.com/questdb/questdb |
| TDengine | Time-Series Database | 01/01/2019 | 24900 | N/A | 200 | N/A | 13/06/2026 | Yes | AGPL-3.0 | https://github.com/taosdata/TDengine |
| TimescaleDB | Time-Series Database | 07/03/2017 | 22900 | N/A | 338 | N/A | 13/06/2026 | Yes | Apache-2.0 | https://github.com/timescale/timescaledb |
| VictoriaMetrics | Time-Series Database | 30/09/2018 | 17100 | N/A | 405 | N/A | 12/06/2026 | Yes | Apache-2.0 | https://github.com/VictoriaMetrics/VictoriaMetrics |
*Criteria: >40 contributors, >500 stars, and recent releases/commit
Tool Details
Query Engine
- Apache Calcite: Dynamic data management framework providing query optimization, data federation, and more.
- Apache Drill: Schema-free SQL Query Engine for Hadoop, NoSQL and Cloud Storage.
- chDB: In-process SQL OLAP engine powered by ClickHouse, embeddable directly into applications like DuckDB.
- Datafusion: Fast query engine for Apache Arrow, written in Rust.
- DuckDB: In-process SQL OLAP database management system, designed to be fast and efficient for analytical queries.
- GraphQL: Query language for APIs and a runtime for executing those queries with existing data.
- Hydra: Unified interface for constructing and executing complex analytical queries across different query engines and data sources.
- PostgreSQL: Powerful, open source object-relational database system with a strong reputation for reliability and data integrity.
- Presto: Distributed SQL query engine for big data, designed for fast analytic queries against data of any size.
- Trino: Fast distributed SQL query engine for big data analytics, designed to efficiently query vast amounts of data.
- Velox: Unified C++ execution engine library that accelerates data management systems and query engines.
- Quack on Demand: Open-source control plane running autoscaling fleets of DuckDB nodes on Kubernetes via an Arrow Flight SQL gateway, with per-tenant isolation, access controls and federated queries from any ODBC/JDBC/ADBC client.
Stream Processing
- Apache Flink: Stateful computations over data streams, providing precise control of time and state.
- Apache Kafka: Distributed event streaming platform capable of handling trillions of events a day.
- Apache Samza: Distributed stream processing framework that uses Apache Kafka for messaging, and Hadoop YARN for fault tolerance.
- Apache Storm: Distributed real-time computation system for processing fast, large streams of data.
- Apache StreamPipes: Self-service toolbox for building, deploying, and managing industrial IoT data stream processing pipelines.
- Arroyo: Distributed stream processing engine that runs stateful SQL queries on high-volume real-time data.
- Bytewax: Python-native stream processing framework built on a Rust dataflow engine for stateful workloads.
- Faust-streaming: Python stream processing library that ports Kafka Streams ideas to the Python ecosystem.
- Feldera: Incremental computation engine that continuously evaluates SQL queries over changing data.
- Materialize: Streaming database that makes it easy to build real-time applications on streaming data.
- Numaflow: Kubernetes-native platform for running scalable and reliable stream processing pipelines.
- Pathway: Python framework for building real-time data and AI pipelines over streaming and batch data; licensed under BSL-1.1.
- Quix Streams: Python library for building real-time stream processing applications on top of Kafka.
- Redpanda: Modern streaming platform compatible with Kafka API, built for mission-critical workloads with high performance.
- RisingWave: Distributed SQL streaming database for building real-time event-driven applications and materialized views.
- Timeplus Proton: Streaming SQL engine powered by ClickHouse for fast real-time and historical analytics.
Batch Processing
- AmphiETL: Cloud-native ETL platform built for modern data teams, offering scalable data transformations and integrations.
- Apache Beam: Unified programming model for batch and streaming data processing, offering language-specific SDKs.
- Apache Hop: Data orchestration and data engineering platform designed for visual development of data pipelines and workflows.
- Apache Sedona: Cluster computing system for processing large-scale spatial data with distributed geospatial operations.
- Apache Spark: Fast and general-purpose cluster computing system, providing high-level APIs in Java, Scala, Python and R.
- dbt core: Transforms data in warehouses by allowing analysts and engineers to define models using SQL SELECT statements.
- Duckle: Lightweight ETL tool built around DuckDB for portable batch data processing.
- Fugue: Unified interface for distributed computing that lets users run Python, Pandas, and SQL code on Spark, Dask, and Ray.
- Odyssée: Web-based data preparation tool by the French public finances directorate (DGFiP) that lets technical and non-technical users build datasets, query them via an assistant or SQL (powered by Trino), and chain queries into reproducible treatments orchestrated with Kestra. Hosted on the ADULLACT GitLab forge; no license file declared at time of listing.
- Ray: Unified framework for scaling Python and AI applications, from data processing to distributed training and serving.
Dataframe Processing
- cuDF (RAPIDS): GPU DataFrame library that provides a Pandas-like API for loading, joining, and aggregating data on NVIDIA GPUs.
- Daft: Distributed DataFrame library for multimodal data, built in Rust for fast Python-native data processing.
- Dask: Flexible library for parallel computing in Python, scaling Python and Pandas workflows efficiently.
- Ibis Project: Expression compiler for analytics, bridging different query engines with a unified Python API for data analytics.
- Modin: Drop-in replacement for Pandas that transparently distributes DataFrame operations across all available cores.
- Pandas: Powerful Python data manipulation and analysis library, offering data structures for efficiently storing large datasets.
- Polars: Fast multi-threaded DataFrame library for Rust and Python, designed as a faster alternative to Pandas.
- Vaex: Out-of-core DataFrame library for lazy, memory-efficient exploration of very large tabular datasets.
- Xarray: Library for working with labeled multi-dimensional arrays, bringing Pandas-like semantics to N-dimensional data.
Datawarehouse & OLAP
- Apache Hive: Data warehouse software facilitating reading, writing, and managing large datasets in distributed storage using SQL.
- Apache Impala: Massively Parallel Processing (MPP) SQL query engine for data stored in Hadoop clusters.
- Apache Kylin: Extreme OLAP engine for big data that allows for sub-second queries on datasets with trillions of rows.
- ClickHouse: Open-source column-oriented database management system for real-time analytics using SQL.
- Doris: High-performance real-time analytical database based on MPP architecture.
- Druid: High performance real-time analytics database designed for workflows where fast queries and ingest really matter.
- StarRocks: High-performance analytical database that enables real-time, multi-dimensional, and highly concurrent data analysis.
Time-Series Database
- Apache IoTDB: Time-series database purpose-built for IoT scenarios, offering efficient storage and querying of device telemetry.
- CrateDB: Distributed SQL database combining the scalability of NoSQL with relational queries for time-series and machine data.
- GreptimeDB: Cloud-native time-series database unifying metrics, logs, and events for observability workloads.
- InfluxDB: Purpose-built time-series database optimized for high-write and query loads of metrics and events.
- QuestDB: High-performance time-series database with SQL support, designed for fast ingestion and real-time analytics.
- TDengine: High-performance time-series database built for IoT, connected cars, and industrial monitoring; licensed under AGPL-3.0.
- TimescaleDB: Time-series database built as a PostgreSQL extension for scalable storage and analytics; licensed under Apache-2.0 and the Timescale License (TSL).
- VictoriaMetrics: Fast and cost-efficient time-series database and monitoring solution compatible with Prometheus.
These tools offer a wide range of capabilities for querying and processing data in various scenarios. When choosing a tool, consider factors such as:
- Scale of your data
- Real-time requirements
- Query complexity
- Integration needs with existing data stack
- Performance requirements
- Team expertise and learning curve
Remember that different categories of tools can be combined to create comprehensive data processing pipelines:
- Use Dataframe Processing tools for exploratory data analysis and prototyping
- Implement Stream Processing for real-time data needs
- Deploy Batch Processing for large-scale periodic processing
- Leverage Query Engines for ad-hoc analysis
- Utilize Datawarehouse & OLAP systems for historical analysis and reporting
The choice of tools can significantly impact the performance and capabilities of your data analytics infrastructure. It’s often beneficial to combine multiple tools to address different aspects of your data processing needs while maintaining a balance between functionality, complexity, and maintainability.
The Challenge of Choice
The open-source community has developed numerous solutions for various aspects of data handling, including: