Apache Druid vs Arroyo
Apache Druid
druid.apache.orgArroyo
arroyo.devSide by side
| Figure | Apache Druid | Arroyo |
|---|---|---|
| Price from | Free | $5/mo |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | Yes |
| Web | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| API | Yes | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 3 |
| Spec score · Stream Analytics Software | 9.0 (#2) | 9.2 (#1) |
| Deployment | Druid can run on commodity hardware in *NIX environments and is designed to run in AWS, GCP, Azure, and other cloud environments. | Arroyo can run as a single binary, Docker container or Kubernetes deployment, with SQLite for local use and Postgres recommended for distributed production. |
| Purpose | Apache Druid is a high-performance real-time analytics database for sub-second queries on streaming and batch data at scale. | Arroyo is a distributed stream processing engine for stateful computations on data streams, with sub-second results. |
| Support | The project directs users to its community network for help using Druid. | The deployment guide invites users rolling out clusters to contact [email protected] or ask questions on Discord. |
| What it does | Apache Druid is a real-time analytics database for sub-second queries on streaming and batch data at scale. | Arroyo is a Rust distributed stream-processing engine for running SQL over bounded and unbounded event streams with sub-second results. |
Plans
Arroyo
- Arroyo open-sourceFree
- Open-source Arroyo EngineFree
- Cloudflare Workers Paid with Pipelines$5 a month
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.
Arroyo
Arroyo is an open-source distributed engine for processing stateful computations on data streams, with sub-second results. Users build streaming pipelines in analytical SQL, including complex queries, windows and joins. Arroyo supports checkpointing for fault tolerance and recovery, exactly-once processing, and horizontal and vertical rescaling; it says the engine can handle millions of events per second. Its connectors include Kafka, Kinesis, MQTT, MySQL, Postgres, Redis, Delta Lake, HTTP and WebSocket, among others. It reads and writes JSON, Avro, Parquet, text and binary, and includes more than 300 SQL functions. Rust scalar, aggregate and asynchronous user-defined functions can extend SQL. The web UI supports connection management, query development and testing, and pipeline monitoring; pipeline management is also available through a REST API. Single-node clusters are intended for development and testing, while production deployments use a distributed cluster with Arroyo’s scheduler or Kubernetes. It is Apache 2.0 licensed, free at free, and self-hostable.