Skip to content
SPECIFICTION
Get listed

Apache Samza vs Apache Storm

Apache Samza

samza.apache.org

Apache Storm

storm.apache.org

Side by side

FigureApache SamzaApache Storm
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
Web—Yes
Windows—Yes
macOS—Yes
LinuxYesYes
APIYesYes
Self-hostedYesYes
Plans published11
Spec score · Streaming Analytics Software7.8 (#11)8.0 (#8)
Spec score · Stream Processing Software7.8 (#13)8.1 (#9)
Spec score · Stream Analytics Software7.9 (#14)8.1 (#9)
Spec score · Big Data Analytics Software7.8 (#18)8.0 (#15)
DeploymentSamza 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.Storm provides local mode for in-process development and remote mode for submitting topologies to a cluster.
DistributionSamza is distributed as a source artifact and through Maven; the download page says it does not have a binary release at this time.Apache Storm is available through Maven Central and as an official Docker image on Docker Hub.
IntegrationsBuilt-in integrations include Apache Kafka, AWS Kinesis, Azure Event Hubs, Elasticsearch, and Apache Hadoop, and custom sources can also be integrated.Out-of-the-box integrations include Apache Kafka, HDFS, JDBC databases, JMS, and Redis.
PurposeApache Samza is a distributed stream-processing framework for building stateful applications that process data in real time from multiple sources.Apache Storm is a distributed realtime computation system for reliably processing unbounded data streams.
SecurityThe background documentation says Samza works with YARN, which supports Hadoop’s security model, and uses Linux cgroups for resource isolation.Storm supports pluggable Kerberos/SASL authentication and SimpleACLAuthorizer authorization, both disabled by default.
SupportThe project directs users to a user mailing list subscribed to by Samza users, contributors, and committers.Users can get help through the user mailing list at [email protected].

Plans

Apache Samza

  • Apache SamzaFree

Apache Samza pricing →

Apache Storm

  • Apache StormFree

Apache Storm pricing →

In their own words

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.

Visit samza.apache.org

Apache Storm

Apache Storm is a distributed system for computing over unbounded data streams in real time. It uses spouts, bolts, and topologies to assemble multi-stage computations, supporting realtime analytics, online machine learning, continuous computation, distributed RPC, and ETL. The project describes Storm as scalable and fault-tolerant, with guaranteed data processing, and reports a benchmark above one million tuples per second per node. Integrations include Apache Kafka, HDFS, JDBC databases, JMS, and Redis. Developers can work in local mode in-process or submit topologies to a remote cluster. Storm supports stateful processing and lists JavaScript, Python, Ruby, and C# among supported languages. It is free under Apache License, Version 2.0; source and binary distributions are available, along with Maven Central and an official Docker image. The current release is 3.1.0. Security options include Kerberos/SASL authentication, SimpleACLAuthorizer authorization, and TLS for Thrift RPC and worker messaging; authentication and authorization options are disabled by default.

Visit storm.apache.org