/onyx

Distributed, masterless, high performance, fault tolerant data processing

Primary LanguageClojureEclipse Public License 1.0EPL-1.0

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, Cascading, Cascalog, Spark, Map/Reduce, Sqoop, etc
  • written in pure Clojure

What would I use this for?

  • Realtime event stream processing
  • 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.9.6"]

Build Status

Component release unstable compatibility
onyx core Circle CI Circle CI -
onyx-kafka Circle CI Circle CI Circle CI
onyx-datomic Circle CI Circle CI Circle CI
onyx-redis Circle CI Circle CI Circle CI
onyx-sql Circle CI Circle CI Circle CI
onyx-bookkeeper Circle CI Circle CI Circle CI
onyx-seq Circle CI Circle CI Circle CI
onyx-durable-queue Circle CI Circle CI Circle CI
onyx-elasticsearch Circle CI Circle CI Circle CI
onyx-amazon-sqs Circle CI Circle CI Circle CI
onyx-http Circle CI Circle CI Circle CI
learn-onyx Circle CI - Circle CI
onyx-examples Circle CI Circle CI Circle CI
onyx-dashboard Circle CI Circle CI Circle CI
  • release: stable, released content
  • unstable: unreleased content
  • compatibility: edge, unstable, unreleased content depending on core master

Companies Running Onyx in Production

<img src="doc/images/cognician.png" height"30%" width="30%">                    <img src="doc/images/indaba.png" height"40%" width="40%">                   

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.9.6

Developer's Guide 0.9.6

API Docs 0.9.6

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-core-async version 0.9.6 goes with onyx version 0.9.6). Fixes to plugins can be applied using a 4th versioning identifier (e.g. 0.9.6.1).

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 © 2015 Michael Drogalis

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

Profiler

YourKit

YourKit supports open source projects with its full-featured Java Profiler. YourKit, LLC is the creator of YourKit Java Profiler and YourKit .NET Profiler, innovative and intelligent tools for profiling Java and .NET applications.