Awesome
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.14.6-SNAPSHOT"]
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.14.6.SNAPSHOT.0"]
, and read
the READMEs on the 0.14.x branches linked above.
Build Status
release
: stable, released contentunstable
: unreleased content
Unsupported plugins
Some plugins are currently unsupported in onyx 0.14.x. These are:
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%"> <img src="doc/images/yapster.png" height="15%" width="15%"> <img src="doc/images/modnakasta.png"> <img src="doc/images/breeze-125.png">
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.14.6-SNAPSHOT
Developer's Guide 0.14.6-SNAPSHOT
API Docs 0.14.6-SNAPSHOT
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.14.6-SNAPSHOT.0-SNAPSHOT
goes with onyx
version 0.14.6-SNAPSHOT
). Fixes to plugins can be applied using a 4th versioning identifier (e.g. 0.14.6-SNAPSHOT.1-SNAPSHOT
).
onyx-core-async
onyx-kafka
onyx-kafka-0.8
onyx-datomic
onyx-redis
onyx-sql
onyx-bookkeeper
onyx-seq
onyx-durable-queue
onyx-elasticsearch
onyx-http
onyx-amazon-sqs
onyx-amazon-s3
Generate plugin templates through Leiningen with onyx-plugin
.
3rd Party plugin listing
Unofficial plugins have not been vetted.
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
- Michael Drogalis
- Lucas Bradstreet
- Owen Jones
- Bruce Durling
- Malcolm Sparks
- Bryce Blanton
- David Rupp
- sbennett33
- Tyler van Hensbergen
- David Leatherman
- Daniel Compton
- Jeff Rose
- Ole Krüger
- Juho Teperi
- Nicolas Ha
- Andrew Meredith
- Bridget Hillyer
- Ivan Mushketyk
- Jochen Rau
- Tienson Qin
- Roman Volosovskyi
- Vijay Kiran
- Paul Kehrer
- Scott Bennett
- Nathan Todd.stone
- Mariusz Jachimowicz
- Jason Bell
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.