Coder Social home page Coder Social logo

siddhi's Introduction

Siddhi Complex Event Processing Engine


Branch Build Status
master Build Status

Latest Released Version v3.0.2.

Siddhi CEP is a lightweight, easy-to-use Open Source Complex Event Processing Engine (CEP) under Apache Software License v2.0. Siddhi CEP processes events which are triggered by various event sources and notifies appropriate complex events according to the user specified queries.

This project was started as a research project initiated at University of Moratuwa, Sri Lanka, and now being improved by WSO2 Inc.

Features Supported

  • Filter
    • Uses stream handlers to filter events
  • Join
    • Supports only upto two streams at a time
    • Match operation triggering can be configured (making "left" or "right" or both streams to trigger)
  • Aggregation
    • By default shipped with Avg, Sum , Min, Max, etc
    • Supports Custom Aggregations via the plugable architecture
  • Group by
    • Supports Group by based on more than one attribute
    • Supported for all type if queries
  • Having
    • Supported for all type if queries
  • Stream handlers
    • Supports multiple handlers in a row per stream
    • By default shipped with Filter and Window
    • Default implementations to windows are: Time window, Time Batch window, Length window, etc
    • Supports Custom Stream handlers via the plugable architecture
  • Conditions and Expressions
    • Supporitng condition and expression evalutation
    • Conditions supported are: and, or, not, ==,!=, >=, >, <=, <, and arithmetic operations
    • Atributes supported are: boolean, string, int, long, float, double, object
  • Pattern processing
    • Identifies pattern occurrences within streams
    • Supports "every" conditions
    • Can process two stream at a time via "and" and "or" conditions (currently only works on two simple streams)
    • Can collect events, with min and max limit, using "collect" condition (currently only works on a simple stream)
  • Sequence processing
    • Identifies continuous sequences with in streams
    • Supports "or" conditions on streams (currently only works on two simple streams)
    • Supports zero to many, one to many, and zero to one (currently only works on a simple stream)
  • Event Tables
    • Support for using historical data in realtime processing
    • Can process with the in-memory or RDBMS based data collection
  • Query Language
    • SQL like query languege
    • Implemented on Antlr
    • Supports Query, Stream Definition and Query Plan compilation

System Requirements

  1. Minimum memory - 1 GB
  2. Processor - Pentium 800MHz or equivalent at minimum
  3. Java SE Development Kit 1.7 or higher
  4. To build Siddhi CEP from the Source distribution, it is necessary that you have JDK 1.7 version or later and Maven 3.0.4 or later

How to Contribute

Contact us

WSO2 Carbon developers can be contacted via the mailing lists:

####We welcome your feedback and contribution.

Siddhi CEP Team

siddhi's People

Contributors

suhothayan avatar sacjaya avatar tishan89 avatar mohanvive avatar dilini-muthumala avatar grainier avatar lasanthafdo avatar ramindu90 avatar ksdperera avatar sayshika avatar rajeev3001 avatar thilinarmtb avatar sajithshn avatar wso2-jenkins-bot avatar keizer619 avatar isuruf avatar miyurud avatar manoramahp avatar minudika avatar nirmal070125 avatar kasunbg avatar niranjan-k avatar lankavitharana avatar cdathuraliya avatar

Watchers

 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.