Distributed, masterless, high performance, fault tolerant data processing
Clojure Shell
Switch branches/tags
Clone or download

README.md

Logo Onyx

Join the chat at https://gitter.im/onyx-platform/onyx

What is it?

  • a masterless, cloud scale, fault tolerant, high performance distributed computation system
  • batch and stream hybrid processing model
  • exposes an information model for the description and construction of distributed workflows
  • Competes against Storm, Flink, Cascading, Cascalog, Spark, Map/Reduce, Sqoop, etc
  • written in pure Clojure

What would I use this for?

  • Realtime event stream processing
  • CQRS
  • Continuous computation
  • Extract, transform, load
  • Data transformation à la map-reduce
  • Data ingestion and storage medium transfer
  • Data cleaning

Installation

Available on Clojars:

[org.onyxplatform/onyx "0.13.3-alpha4"]

Changelog

Changelog can be found at changes.md.

Quick Lookup Doc

A searchable set of documentation for the Onyx data model is available.

Project Template

A project template can be found at onyx-template.

Plugins and Libraries

Plugin Template

We provide a plugin template for use in building new plugins. This can be found at onyx-plugin.

Plugin Use

To use the supported plugins, please use version coordinates such as [org.onyxplatform/onyx-amazon-sqs "0.13.3-alpha4.0"], and read the READMEs on the 0.13.x branches linked above.

Build Status

Component release unstable
onyx core Circle CI Circle CI
onyx-local-rt Circle CI Circle CI
onyx-kafka Circle CI Circle CI
onyx-datomic Circle CI Circle CI
onyx-redis Circle CI Circle CI
onyx-sql Circle CI Circle CI
onyx-bookkeeper Circle CI Circle CI
onyx-amazon-sqs Circle CI Circle CI
onyx-amazon-s3 Circle CI Circle CI
onyx-http Circle CI Circle CI
learn-onyx Circle CI -
onyx-examples Circle CI Circle CI
onyx-dashboard Circle CI Circle CI
onyx-peer-http-query Circle CI Circle CI
lib-onyx Circle CI Circle CI
onyx-plugin Circle CI Circle CI
onyx-template Circle CI Circle CI
  • release: stable, released content
  • unstable: unreleased content

Unsupported plugins

Some plugins are currently unsupported in onyx 0.13.x. These are:

Companies Running Onyx in Production

LockedOn                                                                                               

Quick Start Guide

Feeling impatient? Hit the ground running ASAP with the onyx-starter repo and walkthrough. You can also boot into preloaded a Leiningen application template.

User Guide 0.13.3-alpha4

Developer's Guide 0.13.3-alpha4

API Docs 0.13.3-alpha4

Code level API documentation can be found here.

Official plugin listing

Official plugins are vetted by Michael Drogalis. Ensure in your project that plugin versions directly correspond to the same Onyx version (e.g. onyx-kafka version 0.13.3-alpha4.0-SNAPSHOT goes with onyx version 0.13.3-alpha4). Fixes to plugins can be applied using a 4th versioning identifier (e.g. 0.13.3-alpha4.1-SNAPSHOT).

Generate plugin templates through Leiningen with onyx-plugin.

3rd Party plugin listing

Unofficial plugins have not been vetted.

Offical Dashboard and Metrics

You can run a dashboard to monitor Onyx cluster activity, found here. Further, you can collect metrics and send them to the dashboard, or anywhere, by using the onyx-metrics plugin.

Need help?

Check out the Onyx Google Group.

Want the logo?

Feel free to use it anywhere. You can find a few different versions here.

Running the tests

A simple lein test will run the full suite for Onyx core.

Contributor list

Acknowledgements

Some code has been incorporated from the following projects:

License

Copyright © 2017 Michael Drogalis

Distributed under the Eclipse Public License, the same as Clojure.