Apache Druid vs Apache Samza
Apache Druid
druid.apache.orgApache Samza
samza.apache.orgSide by side
| Figure | Apache Druid | Apache Samza |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | Yes | — |
| macOS | Yes | — |
| Linux | Yes | Yes |
| API | Yes | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 1 |
| Spec score · Big Data Analytics Software | 9.0 (#2) | 7.8 (#18) |
| Spec score · Stream Analytics Software | 9.0 (#2) | 7.9 (#14) |
| Spec score · Streaming Analytics Software | 9.0 (#2) | 7.8 (#11) |
| Deployment | Druid can run on commodity hardware in *NIX environments and is designed to run in AWS, GCP, Azure, and other cloud environments. | Samza supports deployment on YARN, Kubernetes, or as a standalone library, and its documentation describes running applications across public clouds, containerized environments, and bare-metal hardware. |
| Integrations | Core extensions support systems and formats including S3, HDFS, Google Cloud Storage, Azure, Kafka, Kinesis, Avro, ORC, Parquet, MySQL, and PostgreSQL. | Built-in integrations include Apache Kafka, AWS Kinesis, Azure Event Hubs, Elasticsearch, and Apache Hadoop, and custom sources can also be integrated. |
| Purpose | Apache Druid is a high-performance real-time analytics database for sub-second queries on streaming and batch data at scale. | Apache Samza is a distributed stream-processing framework for building stateful applications that process data in real time from multiple sources. |
| Security | Security features include TLS, authentication, and authorization, but they are disabled by default and the documentation says to configure them for production. | The background documentation says Samza works with YARN, which supports Hadoop’s security model, and uses Linux cgroups for resource isolation. |
| Support | The project directs users to its community network for help using Druid. | The project directs users to a user mailing list subscribed to by Samza users, contributors, and committers. |
Plans
In their own words
Apache Druid
Apache Druid is a free, open-source analytics database for querying streaming and batch data. It is designed to return OLAP queries in milliseconds, including on high-cardinality datasets with billions to trillions of rows. The project describes applications ranging from hundreds to 100,000 queries per second. Native Apache Kafka and Amazon Kinesis integrations support low-latency ingestion and querying as data arrives. Druid organizes ingested data into columnar, time-indexed, encoded and compressed storage. Queries can use Druid SQL or JSON-over-HTTP, and joins are available during ingestion or at query time. Its web console can load data, manage datasources and tasks, show server status and run queries. Extensions connect to storage, databases and formats including S3, HDFS, Azure, PostgreSQL, Avro, ORC and Parquet. Druid can be self-hosted on Linux, macOS and other Unix-like systems; Windows is not supported. The local quickstart needs at least 6 GiB of RAM and Java 17. Production security controls require configuration.
Apache Samza
Apache Samza is a free, open-source distributed framework for applications that process data from multiple sources in real time. It supports stateless and stateful workloads, using a scalable, fault-tolerant state store for retained application state. Developers can use the high-level Streams API, lower-level Task API, Samza SQL or an Apache Beam API; Beam support for Python and Go is described as work in progress. Java and Scala applications can embed Samza as a lightweight client library. Built-in integrations include Apache Kafka, AWS Kinesis, Azure Event Hubs, Elasticsearch and Apache Hadoop, with custom sources also supported. Samza runs on YARN, Kubernetes or as a standalone library across public-cloud, containerized and bare-metal environments. Host affinity and incremental checkpointing help recover tasks and their state after failures. Processing is at least once. The project supports SQL processing and event-time windows, and its documentation describes applications with several terabytes of state and thousands of cores. Samza is self-hosted on Linux and distributed as source artifacts and through Maven; there is no binary release at this time.