What is Onyx?

Onyx is a masterless, cloud scale, fault tolerant, distributed computation system written in Clojure, for Clojure. Onyx is a hybrid - exposing a unified API for both batch and stream processing. Programs in Onyx are described by immutable data structures, putting a powerful force in the hands of the developer to cross language and machine boundaries at runtime. We consider Onyx a competitor to Storm, Cascading, Cascalog, Hadoop Map/Reduce, Sqoop, Crane, and more.

What would I use Onyx for?

Onyx excels in real-time event stream processing, continuous computation, batch processing, extract-transform-load, data ingestion, and data extraction.

What does Onyx depend on?

Onyx's only dependency is ZooKeeper. Other than that, there is only one type of entity to boot up in Onyx - called a Peer. Onyx has a unique masterless design, meaning all Peers are considered equal. There is no single coordinating process or entity to orchestrate the rest of the cluster.