Skip to content

tiahp/siddhi

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Siddhi Complex Event Processing Engine


Branch Build Status
master Build Status

Latest Released Version v3.0.4.

For all releases see https://github.com/wso2/siddhi/releases

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

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

####Documentation https://docs.wso2.com/display/CEP400/SiddhiQL+Guide+3.0

####Try it with [WSO2 Complex Event Processor 4.0] (http://wso2.com/products/complex-event-processor/) https://docs.wso2.com/display/CEP400/Siddhi+Try+It+Tool

Features Supported

  • Filter
    • Multiple filter conditions can be defined
    • Filters can be applied before and/or after Window operations
  • Join
    • Supports joining two streams into one based on a condition
    • Match operation triggering can be configured (making "left" or "right" or both streams to trigger)
    • Supports Left, Right & Full Outer Joins and Inner Join
  • Aggregation
    • By default shipped with Avg, Sum , Min, Max, etc
    • Supports Custom Aggregations via its pluggable architecture
  • Group by
    • Supports Group by based on more than one attribute
    • Supported for all type of queries
  • Having
    • Supported for all type of queries
  • Window
    • Default implementations to Windows are: Time Window, Time Batch Window, Length Window, Unique Window, etc
    • Supports Window operators via the pluggable architecture
  • Conditions and Expressions
    • Supporting condition and expression evaluation
    • Conditions supported are: and, or, not, ==,!=, >=, >, <=, <, and arithmetic operations
    • Attributes supported are: boolean, string, int, long, float, double, object
    • Expressions can be implemented as extensions via Siddhi's pluggable architecture
  • Pattern processing
    • Identifies pattern occurrences within streams
    • Supports "every" conditions
    • Can temporally process any amount of events from streams with followed-by (->) operation
    • Can process two stream at the same time via "and" and "or" conditions
    • Can collect multiple number of events, with min and max limit, using "count" condition
  • Sequence processing
    • Identifies continuous sequence of events from streams
    • Can process two stream at the same time using "or" conditions on streams
    • Supports zero to many, one to many, and zero to one conditions
  • Event Tables
    • Support for using historical data in realtime processing
    • Can process with the in-memory, RDBMS or Hazelcast(In-memory data grid) based data collection
  • Partitions
    • Supports query partitions based on key words and value ranges
    • Multiple queries can be grouped within a partition
  • Scripting
    • Support JavaScript & Scala Scripts within Siddhi Queries
  • Query Language
    • SQL like query language
    • Implemented on Antlr4
    • Supports Query, Stream Definition and Query Plan compilation

System Requirements

  1. Minimum memory - 500 MB (based on in-memory data stored for processing)
  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

Questions

How to Contribute

Contact us

Siddhi developers can be contacted via the mailing lists:

####We welcome your feedback and contribution.

Siddhi CEP Team

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 99.6%
  • Other 0.4%