Apache Heron vs Apache Samza
Apache Heron
heron.apache.orgApache Samza
samza.apache.orgSide by side
| Figure | Apache Heron | Apache Samza |
|---|---|---|
| Price from | — | Free |
| Free plan | — | Yes |
| Free trial | — | — |
| Open source | — | — |
| Linux | Yes | Yes |
| API | — | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 0 | 1 |
| Spec score · Streaming Analytics Software | 7.5 (#16) | 7.8 (#11) |
| Spec score · Stream Processing Software | 7.5 (#18) | 7.8 (#13) |
| APIs | The project describes Java and Python Streamlets APIs, a Python API similar to Storm’s, and YAML-based ECO topology stitching. | It provides a high-level Streams API, a low-level Task API, Samza SQL, and an Apache Beam API; Python and Go support for Beam are described as work in progress. |
| Purpose | Heron is a real-time, distributed, fault-tolerant stream processing engine. | Apache Samza is a distributed stream-processing framework for building stateful applications that process data in real time from multiple sources. |
| Security | The GitHub repository page links to a security policy. | The background documentation says Samza works with YARN, which supports Hadoop’s security model, and uses Linux cgroups for resource isolation. |
Plans
In their own words
Apache Heron
Apache Heron has no write-up on Specifiction yet; its figures are above.
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.