StackShareStackShare
Follow on
StackShare

Discover and share technology stacks from companies around the world.

Follow on

© 2025 StackShare. All rights reserved.

Product

  • Stacks
  • Tools
  • Feed

Company

  • About
  • Contact

Legal

  • Privacy Policy
  • Terms of Service
  1. Stackups
  2. Application & Data
  3. Databases
  4. Big Data Tools
  5. Apache Spark vs Druid vs Presto

Apache Spark vs Druid vs Presto

OverviewComparisonAlternatives

Overview

Apache Spark
Apache Spark
Stacks3.1K
Followers3.5K
Votes140
GitHub Stars42.2K
Forks28.9K
Presto
Presto
Stacks394
Followers1.0K
Votes66
Druid
Druid
Stacks376
Followers867
Votes32

Apache Spark vs Druid vs Presto: What are the differences?

Apache Spark, Druid, and Presto are all popular tools used in big data processing. Each of these tools has its own set of strengths and weaknesses that make them suitable for different use cases.

  1. Data Processing Paradigm: Apache Spark is a general-purpose distributed processing framework that provides high-level APIs in programming languages like Java, Scala, and Python. It is especially useful for iterative algorithms and interactive data mining. Druid, on the other hand, is a high-performance, real-time analytics database specifically designed for fast ad-hoc queries on large datasets. Presto is a distributed SQL query engine optimized for low-latency interactive queries on various data sources.

  2. Data Storage: Apache Spark does not have its own storage capabilities but can read and process data from various data sources like HDFS, Cassandra, and S3. Druid is designed to store and query large volumes of data in a column-oriented, distributed architecture, optimized for fast query performance. Presto supports querying data where it resides, allowing users to query data from multiple sources like HDFS, MySQL, and Cassandra without the need to move or replicate the data.

  3. Query Speed and Performance: Apache Spark is known for its in-memory computation capabilities, which can significantly improve processing speed for iterative algorithms and machine learning tasks. Druid is optimized for sub-second query performance, making it ideal for real-time analytics and dashboard applications. Presto is designed for low-latency interactive queries on massive datasets, making it suitable for scenarios where query speed is crucial.

  4. Scalability and Fault Tolerance: Apache Spark provides fault tolerance through its resilient distributed dataset (RDD) abstraction, which enables data recovery in case of node failures. Druid is highly scalable and can handle petabytes of data spread across a cluster of machines, providing horizontal scalability for growing data volumes. Presto is horizontally scalable and fault-tolerant, allowing users to add more nodes to the cluster for increased processing power and handle failures gracefully.

  5. Use Cases: Apache Spark is widely used for batch processing, real-time streaming analytics, machine learning, and graph processing. Druid is commonly used for real-time analytics, time series data analysis, and event data analysis. Presto is popular for ad-hoc queries, interactive analytics, and business intelligence applications where fast query response times are critical.

In Summary, Apache Spark, Druid, and Presto offer unique features and capabilities for big data processing, with Apache Spark focusing on general-purpose distributed processing, Druid on real-time analytics, and Presto on interactive querying.

Share your Stack

Help developers discover the tools you use. Get visibility for your team's tech choices and contribute to the community's knowledge.

View Docs
CLI (Node.js)
or
Manual

Detailed Comparison

Apache Spark
Apache Spark
Presto
Presto
Druid
Druid

Spark is a fast and general processing engine compatible with Hadoop data. It can run in Hadoop clusters through YARN or Spark's standalone mode, and it can process data in HDFS, HBase, Cassandra, Hive, and any Hadoop InputFormat. It is designed to perform both batch processing (similar to MapReduce) and new workloads like streaming, interactive queries, and machine learning.

Distributed SQL Query Engine for Big Data

Druid is a distributed, column-oriented, real-time analytics data store that is commonly used to power exploratory dashboards in multi-tenant environments. Druid excels as a data warehousing solution for fast aggregate queries on petabyte sized data sets. Druid supports a variety of flexible filters, exact calculations, approximate algorithms, and other useful calculations.

Run programs up to 100x faster than Hadoop MapReduce in memory, or 10x faster on disk;Write applications quickly in Java, Scala or Python;Combine SQL, streaming, and complex analytics;Spark runs on Hadoop, Mesos, standalone, or in the cloud. It can access diverse data sources including HDFS, Cassandra, HBase, S3
--
Statistics
GitHub Stars
42.2K
GitHub Stars
-
GitHub Stars
-
GitHub Forks
28.9K
GitHub Forks
-
GitHub Forks
-
Stacks
3.1K
Stacks
394
Stacks
376
Followers
3.5K
Followers
1.0K
Followers
867
Votes
140
Votes
66
Votes
32
Pros & Cons
Pros
  • 61
    Open-source
  • 48
    Fast and Flexible
  • 8
    Great for distributed SQL like applications
  • 8
    One platform for every big data problem
  • 6
    Easy to install and to use
Cons
  • 4
    Speed
Pros
  • 18
    Works directly on files in s3 (no ETL)
  • 13
    Open-source
  • 12
    Join multiple databases
  • 10
    Scalable
  • 7
    Gets ready in minutes
Pros
  • 15
    Real Time Aggregations
  • 6
    Batch and Real-Time Ingestion
  • 5
    OLAP
  • 3
    OLAP + OLTP
  • 2
    Combining stream and historical analytics
Cons
  • 3
    Limited sql support
  • 2
    Joins are not supported well
  • 1
    Complexity
Integrations
No integrations available
PostgreSQL
PostgreSQL
Kafka
Kafka
Redis
Redis
MySQL
MySQL
Hadoop
Hadoop
Microsoft SQL Server
Microsoft SQL Server
Zookeeper
Zookeeper

What are some alternatives to Apache Spark, Presto, Druid?

Amazon Athena

Amazon Athena

Amazon Athena is an interactive query service that makes it easy to analyze data in Amazon S3 using standard SQL. Athena is serverless, so there is no infrastructure to manage, and you pay only for the queries that you run.

Apache Flink

Apache Flink

Apache Flink is an open source system for fast and versatile data analytics in clusters. Flink supports batch and streaming analytics, in one system. Analytical programs can be written in concise and elegant APIs in Java and Scala.

lakeFS

lakeFS

It is an open-source data version control system for data lakes. It provides a “Git for data” platform enabling you to implement best practices from software engineering on your data lake, including branching and merging, CI/CD, and production-like dev/test environments.

Apache Kylin

Apache Kylin

Apache Kylin™ is an open source Distributed Analytics Engine designed to provide SQL interface and multi-dimensional analysis (OLAP) on Hadoop/Spark supporting extremely large datasets, originally contributed from eBay Inc.

Splunk

Splunk

It provides the leading platform for Operational Intelligence. Customers use it to search, monitor, analyze and visualize machine data.

Apache Impala

Apache Impala

Impala is a modern, open source, MPP SQL query engine for Apache Hadoop. Impala is shipped by Cloudera, MapR, and Amazon. With Impala, you can query data, whether stored in HDFS or Apache HBase – including SELECT, JOIN, and aggregate functions – in real time.

Vertica

Vertica

It provides a best-in-class, unified analytics platform that will forever be independent from underlying infrastructure.

Azure Synapse

Azure Synapse

It is an analytics service that brings together enterprise data warehousing and Big Data analytics. It gives you the freedom to query data on your terms, using either serverless on-demand or provisioned resources—at scale. It brings these two worlds together with a unified experience to ingest, prepare, manage, and serve data for immediate BI and machine learning needs.

Apache Kudu

Apache Kudu

A new addition to the open source Apache Hadoop ecosystem, Kudu completes Hadoop's storage layer to enable fast analytics on fast data.

AWS Glue

AWS Glue

A fully managed extract, transform, and load (ETL) service that makes it easy for customers to prepare and load their data for analytics.

Related Comparisons

Bootstrap
Materialize

Bootstrap vs Materialize

Laravel
Django

Django vs Laravel vs Node.js

Bootstrap
Foundation

Bootstrap vs Foundation vs Material UI

Node.js
Spring Boot

Node.js vs Spring-Boot

Liquibase
Flyway

Flyway vs Liquibase