GithubHelp home page GithubHelp logo

hiremani / decision Goto Github PK

View Code? Open in Web Editor NEW

This project forked from stratio/decision

0.0 2.0 0.0 37.3 MB

Powered by Spark Streaming & Siddhi

Home Page: http://stratio.github.io/Decision

License: Apache License 2.0

Ruby 0.18% Scala 17.46% Java 72.29% Shell 2.01% Gherkin 8.06%

decision's Introduction

DECISION-CEP-ENGINE

Decision CEP engine is a Complex Event Processing platform built on Spark Streaming.

It is the result of combining the power of Spark Streaming as a continuous computing framework and Siddhi CEP engine as complex event processing engine.

What is Complex Event Processing?

Complex event processing, or CEP, is event processing that combines data from multiple sources to infer events or patterns that suggest more complicated circumstances.

CEP as a technique helps discover complex events by analyzing and correlating other events

Decision Cep Engine components

Stream Query Language

1 Stream Definition Language (SDL)

  • Create, alter or drop a stream, add new queries or remove existing queries

2 Stream Manipulation Language (SML)

  • Insert events into a stream and list the existing streams in the engine.

3 Stream Action Language (SAL)

  • Listen to a stream (kafka), save the stream to Cassandra or mongoDB (auto-creation of tables), index the stream to ElasticSearch or Solr… here you should find useful operations ready to use.

  • Start & Stop each action on-demand

4 Built-in functions

  • Auditing all the requests in the decision engine (Cassandra or MongoDB)
  • Statistics (requests per operation, requests per stream…)
  • Failover system (recovering windows, streams and queries from Cassandra or MongoDB)

Decision Cep Engine: API

  • Java & Scala API
  • Simple programming model
  • Available as maven dependency

Decision Cep Engine: SHELL

  • Autocomplete & help
  • Tab-completion for stream names
  • Built on the API

Interesting facts about Decision Cep Engine

  • It was presented in Spark Summit 2014 (link)
  • Up to 10 million events per minute in a single node.
  • It is fully open source.

Decision CEP engine FAQ

Is Decision CEP engine multi-persistence?

For sure, we have included ready-to-use actions in the engine that allows you, any time, to start or stop saving all the events in that stream to the persistence of your choice: MongoDB, Cassandra or ElasticSearch.

The engine takes care about creating keyspaces, tables, collections, indexes or whatever it needs to properly store the events (and,what’s more, if the stream is changed by an alter request, Stratio Decision will also change the persistence for you).

Can I work with temporal windows?

Time is a first-class citizen in a CEP engine so yes, you can work with temporal windows. Anyway, length windows and others are also supported, and there are a lot of operators for your queries (avg, count, sum, max, min, patterns, sequences, joins…)

How can I send data to the engine?

Use the API or the Shell provided by Decision CEP engine. You can send a really BIG amount of events.

Changelog

See the changelog for changes.

decision's People

Contributors

aagea avatar aargomaniz avatar abandin-stratio avatar ajnavarro avatar albertostratio avatar becaresss avatar dmoralesparadigma avatar dvallejo avatar epeinado avatar eruizgar avatar gasparms avatar inavarroreus avatar mariomgal avatar miguelseg avatar smola avatar unai-ttxu avatar witokondoria avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.