SlideShare ist ein Scribd-Unternehmen logo
1 von 56
A HIGH PERFORMANCE COMPLEX EVENT
                                PROCESSING ENGINE




http://siddhi.sourceforge.net/
Siddhi and NBQSA


• Bronze award under Tertiary Category at the
  National Best Quality Software Awards 2011
• Held on 7th October 2011 in Sri Lanka
INTRODUCTION

Project Group Members
•   Suhothayan S. (Suho)
•   Loku Narangoda I.U. (Isuru)
•   Chaturanga H.W.G.S (Subash)
•   Gajasinghe K.C.B. (Kasun)
Project Supervisors
• Dr. Srinath Perera
• Ms.Vishaka Nanayakkara
WHAT IS CEP ?
Complex Event Processing (CEP) is identifying meaningful
patterns, relationships and data abstractions among unrelated
events and fire an immediate response.

              Database Applications        Event-driven Applications
   Query
              Ad-hoc queries or requests   Continuous standing queries
  Paradigm
   Latency       Seconds, hours, days          Milliseconds or less
                                               Tens of thousands of
  Data Rate    Hundreds of events/sec
                                                events/sec or more

                                               Event
                              request                      output
                                            input          stream
                response                   stream
SCENARIOS OF EVENT PROCESSING
Latency
Months

Days                                                    CEP Target Scenarios
                   Relational Database
hours                                                 Operational Analytics
                       Applications
                                                        Applications, e.g.,
Minutes                                Data Warehousing Logistics, etc.
                                         Applications
Seconds
                                                    Web Analytics Applications

100 ms        Monitoring                Manufacturing          Financial
              Applications               Applications         Trading
< 1ms                                                          Applications

          0          10          100         1000     10000    100000    ~1million
                             Aggregate Data Rate (Events/sec.)
WHY SIDDHI ?
CURRENT CEP SOLUTIONS
•   S4
•   Streambase
•   Esper
•   TelegraphCQ
•   Aurora
THE PROBLEMS WITH THEM ?

• Not enough support for complex queries
• Less efficient
     - High latency and High memory consumption
• Proprietary
SIDDHI CEP
•   Project Objectives
•   Siddhi Architecture
•   What we did?
•   Siddhi Implementation
•   Siddhi Performance
•   Miscellaneous
    – Website
    – Documentation
    – Project Tracker
• Siddhi Deployments
SIDDHI CEP
•   Project Objectives
•   Siddhi Architecture
•   What we did?
•   Siddhi Implementation
•   Siddhi Performance
•   Miscellaneous
    – Website
    – Documentation
    – Project Tracker
• Siddhi Deployments
PROJECT OBJECTIVES

• Carry out research to come up with effective algorithms
  and approaches to implement A High Performing CEP
  engine.

• Come up with an effective architecture for a CEP Engine
  which can detect events in a computationally
  efficient way.
FROM RESEARCH
For State Machine
  SASE: High-Performance Complex Event Processing
  over Streams
For Pipeline Architecture
  Aurora: a new model and architecture for data stream
  management
For Query Plan Management
  Query Processing, Resource Management,
  and Approximation in a Data Stream
  Management
SIDDHI CEP
•   Project Objectives
•   Siddhi Architecture
•   What we did?
•   Siddhi Implementation
•   Siddhi Performance
•   Miscellaneous
    – Website
    – Documentation
    – Project Tracker
• Siddhi Deployments
User

                                               Output Adapters
Input Adapters
                                    Compiler


             Siddhi Manager




                      User Input a Query
User

                                                   Output Adapters
Input Adapters
                                        Compiler


             Siddhi Manager




                       Compiling the query
User

                                                           Output Adapters
Input Adapters
                                          Compiler


             Siddhi Manager




                 Query get compiled into an object model
User

                                                            Output Adapters
Input Adapters
                                             Compiler


             Siddhi Manager




                 Query Object Model is parsed to the Siddhi Manager
User

                                                            Output Adapters
Input Adapters
                                         Compiler


             Siddhi Manager




                       Event arrives to the Input Adapter
User

                                                             Output Adapters
Input Adapters
                                            Compiler


             Siddhi Manager




      Convert the Event to a tuple and place it to the input event queue
User

                                                          Output Adapters
Input Adapters
                                          Compiler


             Siddhi Manager




                   Processor takes the tuple from the queue
User

                                                          Output Adapters
Input Adapters
                                          Compiler


             Siddhi Manager




        Executing the queries…Other Events arrives at the same time
User

                                                        Output Adapters
Input Adapters
                                       Compiler


             Siddhi Manager




                       Non matching event thrown away
User

                                           Output Adapters
Input Adapters
                                Compiler


             Siddhi Manager
User

                                                           Output Adapters
Input Adapters
                                         Compiler


             Siddhi Manager




                 Matching Event creates the output Event
User

                                                            Output Adapters
Input Adapters
                                          Compiler


             Siddhi Manager




             Pushing generated Events to the output queue
User

                                                          Output Adapters
Input Adapters
                                          Compiler


             Siddhi Manager




                   User get notified through output Adapter
User

                                                           Output Adapters
Input Adapters
                                           Compiler


             Siddhi Manager




                 Same procedure happens again and again…
SIDDHI CORE
SIDDHI CEP
•   Project Objectives
•   Siddhi Architecture
•   What we did?
•   Siddhi Implementation
•   Siddhi Performance
•   Miscellaneous
    – Website
    – Documentation
    – Project Tracker
• Siddhi Deployments
Our PROGRESS
•   Initial research
•   System Design
•   1st iteration
•   Web site
•   2nd iteration
    • All major functionalities are implemented
    • Profiling and Performance Testing
    • Improved Siddhi API
• Siddhi Benchmark
• 3rd iteration
    • Adding new features for user requests
    • Profiling and Performance Testing
SIDDHI CEP
•   Project Objectives
•   Siddhi Architecture
•   What we did?
•   Siddhi Implementation
•   Siddhi Performance
•   Miscellaneous
    – Website
    – Documentation
    – Project Tracker
• Siddhi Deployments
SIDDHI FUNCTIONALITIES
• Filter
• State Machine
    • Sequence Query
    • Pattern Query
•   Join Event Streams
•   Time Window
•   Length Window
•   Batch Window
API TO WRITE QUERIES

Sample query for Filter
Query query = qf.createQuery(
            "StockQuote",
            qf.output("price=CSEStream.price"),
            qf.inputStream(cseEventStream),
            qf.condition("CSEStream.symbol", EQUAL, "IBM")
       );
API TO WRITE QUERIES
Pattern Queries

For, A* B –

Query query =
qf.createQuery(
     "StockQuote",
      qf.output("priceA=$0.last.price", "priceB=$1.price"),
      qf.inputStreams(cseEventStream, infoStock),
      qf.pattern(
        qf.star(
             qf.condition("CSEStream.price", GREATERTHAN, "$0.prev.price“)
        ),
        qf.condition("CSEStream.price", LESSTHAN, "$0.last.price")
      )
);
API TO WRITE QUERIES
Aggregators
•   Average (avg)
•   count
•   max
•   min
•   sum
Query query = qf.createQuery(
            "StockQuote",
            qf.output( "symbol=CSEStream.symbol“,
                      "avgPrice=avg(CSEStream.price)",
                      "count=count(CSEStream.symbol)"),
            qf.inputStream(cseEventStream),
            qf.condition("CSEStream.symbol", EQUAL, "IBM")
       );
Development Process


• Test Driven Development (TDD)
• Scrum
PERFORMANCE IMPROVEMENTS
• Profiling
   – For improving latency, Memory leaks
ADDITIONAL FEATURES

• Improvements in the Selection Operator
   - using MVEL

• Support conditions on the aggregation functions
   -having, group-by

• Event quantifications in sequential patterns
   -kleene closure (*)

• Unique function
SIDDHI CEP
•   Project Objectives
•   Siddhi Architecture
•   What we did?
•   Siddhi Implementation
•   Siddhi Performance
•   Miscellaneous
    – Website
    – Documentation
    – Project Tracker
• Siddhi Deployments
PERFORMANCE TESTING

Details of the Machine
Hardware : Intel- Core 2 Duo 2.10 GHz
           Memory 1.9GB

OS       : Ubuntu
           Release 9.10
           Kernel Linux 2.6.31-14-generic
           GNOME - 2.28.1
PERFORMANCE COMPARISON WITH ESPER

Performance Comparison for a simple filter without a
window

                                       Events        Siddhi       Esper
                                                      (ms)        (ms)
                                      10         4            5

                                      100        5.6          9.8

                                      1000       34.5         55.2

                                      10,000     252.6        491

                                      100,000    961.4        1669.2

                                      1000,000   3730.6       5546.8
PERFORMANCE COMPARISON WITH ESPER

Performance Comparison for a timed window query for
average calculation for a given symbol

                                      Events        Siddhi       Esper
                                                     (ms)        (ms)
                                     10         5            9

                                     100        10.6         16.2

                                     1000       52           109.2

                                     10,000     419.2        1159.2

                                     100,000    1302.8       2724

                                     1000,000   7883.2       11589.8
PERFORMANCE COMPARISON WITH ESPER

Performance Comparison for a State machine query



                                      Events      Siddhi     Esper
                                                   (ms)      (ms)
                                     10         5.8        30

                                     100        11         58.4

                                     1000       98.6       333

                                     10,000     550.4      2285.6

                                     100,000    1606       9663.2

                                     1000,000   12563      77641
SIDDHI CEP
•   Project Objectives
•   Siddhi Architecture
•   What we did?
•   Siddhi Implementation
•   Siddhi Performance
•   Miscellaneous
    – Website
    – Documentation
    – Project Tracker
• Siddhi Deployments
WEB SITE




    http://siddhi.sourceforge.net/
USER GUIDE




http://siddhi.sourceforge.net/userguide/content/userguide.html
DEVELOPER GUIDE




http://siddhi.sourceforge.net/devguide/content/devguide.html
PROJECT TRACKING PAGE




      http://www.ohloh.net/p/siddhi-cep
SIDDHI DISTRIBUTION

How other projects can use Siddhi?
  The Siddhi jar is now available in Sonatype maven
  repository.
SIDDHI CEP
•   Project Objectives
•   Siddhi Architecture
•   What we did?
•   Siddhi Implementation
•   Siddhi Performance
•   Miscellaneous
    – Website
    – Documentation
    – Project Tracker
• Siddhi Deployments
OPENMRS NCD MODULE




  https://wiki.openmrs.org/display/docs/Notifiable
  +Condition+Detector+%28NCD%29+Module
FUTURE OF SIDDHI

• Pushing Siddhi Project to Apache
LITERATURE REVIEW
•   T. J. Owens, "Survey of event processing. Technical report, Air Force Research
    Laboratory, Information Directorate ," 2007.
•   G. Tóth, R. Rácz, J. Pánczél, T. Gergely, A. Beszédes, L. Farkas, L.J. Fülöp, "Survey
    on Complex Event Processing and Predictive Analytics," , 2010.
•   Alex Cheung, Guoli Li, Balasubramaneyam Maniymaran, Vinod Muthusamy, Reza
    Sherafat Kazemzadeh Hans-Arno Jacobsen, "System, The PADRES
    Publish/Subscribe,".
•   Air Force Research Laboratory, "Survey of Event Processing ," , 2007.
•   J. Nagy, "User-Centric Personalized Extensibility for Data-Driven Web Applications ,
    IF/AFOSR Minigrant Proposal," , 2007.
•   J. Gehrke, B. Panda, M. Riedewald, V. Sharma, and W. White A. Demers, "Cayuga: A
    General Purpose Event Monitoring System," , Asolimar, California, January 2007.
•   J. Gehrke, M. Hong, M. Riedewald, and W. White A. Demers, "A General Algebra
    and Implementation for Monitoring Event Streams," 2005.
•   K. Vikram, "FingerLakes: A Distributed Event Stream Monitoring System,".
•   D Abadi, D Carney, U. Cetintemel, and M. et al. Cherniack, "Aurora: a data stream
    management system," , San Diego, California, 2003.
LITERATURE REVIEW
•   H. Balakrishnan, M. Balazinska, D. Carney, and U. et al. Cetintemel, "Retrospective on Aurora," vol. 13, no. 4, 2004.
•   D. Abadi, Y. Ahmad, and M. Balazinska: U. Cetintemel et al. al., "The Design of the Borealis Stream Processing Engine,"
    , 2005.
•   S. Zdonik, M. Stonebraker, M. Cherniack, and U. Centintemel et al., "The Aurora and Medusa Projects," , 2003.
•   S. Chandrasekaran, O. Cooper, A. Deshpande, and M. Franklin et al., "TelegraphCQ: Continuous Dataflow Processing for
    an Uncertain World," , 2003.
•   S. Chandrasekaran, O. Cooper, A. Deshpande, M. Franklin, J. Hellerstein, W. Hong, S. Madden, F. Reiss, M. Shah, S.
    Krishnamurthy, "TelegraphCQ: An Architectural Status Report," IEEE Data Engineering Bulletin, vol. 26, no. 1, 2003.
•   T. Sellis, "Multiple Query Optimization," , 1988.
•   N., Sanghai, S., Roy, P., Sudarshan, S. Dalvi, "Pipelining in Multi-Query Optimization," , 2001.
•   A., Sudarshan, S., Viswanathan, S. Gupta, "Query Scheduling in Multi Query Optimization," , 2001.
•   P., Seshadri, A., Sudarshan, A., Bhobhe, S. Roy, "Efficient and Extensible Algorithms For Multi Query Optimization," ,
    2000.
•   S. Zdonik. (2006, March) Stream Processing Overview [presentation] Workshop on Event Processing, Hawthorne, New
    York.
•   M. Liu, L. Ding, E.A. Rundensteiner, and M. Mani M. Li, "Event Stream Processing with Out-of-Order Data Arrival," ,
    2007.
•   Y. Diao, D. Gyllstrom, and N. Immerman J. Agrawal, "Efficient pattern matching over event streams," , 2008.
•   T. Shafeek, "Aurora: A New Model And Architecture For Data Stream Management, B.Tech Seminar Report,
    Government Engineering College, Thrissur," 2010.
QUESTIONS?
THANK YOU!

Weitere ähnliche Inhalte

Was ist angesagt?

Faster deep learning solutions from training to inference - Amitai Armon & Ni...
Faster deep learning solutions from training to inference - Amitai Armon & Ni...Faster deep learning solutions from training to inference - Amitai Armon & Ni...
Faster deep learning solutions from training to inference - Amitai Armon & Ni...Codemotion Tel Aviv
 
Keynote: Trends in Modern Application Development - Gilly Dekel, IBM
Keynote: Trends in Modern Application Development - Gilly Dekel, IBMKeynote: Trends in Modern Application Development - Gilly Dekel, IBM
Keynote: Trends in Modern Application Development - Gilly Dekel, IBMCodemotion Tel Aviv
 
Using AWS to Build a Scalable Big Data Management & Processing Service (BDT40...
Using AWS to Build a Scalable Big Data Management & Processing Service (BDT40...Using AWS to Build a Scalable Big Data Management & Processing Service (BDT40...
Using AWS to Build a Scalable Big Data Management & Processing Service (BDT40...Amazon Web Services
 
[.Net Juniors Academy] Introdução ao Cloud Computing e Windows Azure Platform
[.Net Juniors Academy] Introdução ao Cloud Computing e Windows Azure Platform[.Net Juniors Academy] Introdução ao Cloud Computing e Windows Azure Platform
[.Net Juniors Academy] Introdução ao Cloud Computing e Windows Azure PlatformVitor Tomaz
 
The Boss: A Petascale Database for Large-Scale Neuroscience, Powered by Serve...
The Boss: A Petascale Database for Large-Scale Neuroscience, Powered by Serve...The Boss: A Petascale Database for Large-Scale Neuroscience, Powered by Serve...
The Boss: A Petascale Database for Large-Scale Neuroscience, Powered by Serve...Amazon Web Services
 
Chris Nicholson, CEO Skymind at The AI Conference
Chris Nicholson, CEO Skymind at The AI Conference Chris Nicholson, CEO Skymind at The AI Conference
Chris Nicholson, CEO Skymind at The AI Conference MLconf
 
Defend against adversarial AI using Adversarial Robustness Toolbox
Defend against adversarial AI using Adversarial Robustness Toolbox Defend against adversarial AI using Adversarial Robustness Toolbox
Defend against adversarial AI using Adversarial Robustness Toolbox Animesh Singh
 
Time Series Anomaly Detection with .net and Azure
Time Series Anomaly Detection with .net and AzureTime Series Anomaly Detection with .net and Azure
Time Series Anomaly Detection with .net and AzureMarco Parenzan
 
Time Series Classification with Deep Learning | Marco Del Pra
Time Series Classification with Deep Learning | Marco Del PraTime Series Classification with Deep Learning | Marco Del Pra
Time Series Classification with Deep Learning | Marco Del PraData Science Milan
 
Planning the Migration to the Cloud - AWS India Summit 2012
Planning the Migration to the Cloud - AWS India Summit 2012Planning the Migration to the Cloud - AWS India Summit 2012
Planning the Migration to the Cloud - AWS India Summit 2012Amazon Web Services
 
ML at the Edge: Building Your Production Pipeline with Apache Spark and Tens...
 ML at the Edge: Building Your Production Pipeline with Apache Spark and Tens... ML at the Edge: Building Your Production Pipeline with Apache Spark and Tens...
ML at the Edge: Building Your Production Pipeline with Apache Spark and Tens...Databricks
 

Was ist angesagt? (11)

Faster deep learning solutions from training to inference - Amitai Armon & Ni...
Faster deep learning solutions from training to inference - Amitai Armon & Ni...Faster deep learning solutions from training to inference - Amitai Armon & Ni...
Faster deep learning solutions from training to inference - Amitai Armon & Ni...
 
Keynote: Trends in Modern Application Development - Gilly Dekel, IBM
Keynote: Trends in Modern Application Development - Gilly Dekel, IBMKeynote: Trends in Modern Application Development - Gilly Dekel, IBM
Keynote: Trends in Modern Application Development - Gilly Dekel, IBM
 
Using AWS to Build a Scalable Big Data Management & Processing Service (BDT40...
Using AWS to Build a Scalable Big Data Management & Processing Service (BDT40...Using AWS to Build a Scalable Big Data Management & Processing Service (BDT40...
Using AWS to Build a Scalable Big Data Management & Processing Service (BDT40...
 
[.Net Juniors Academy] Introdução ao Cloud Computing e Windows Azure Platform
[.Net Juniors Academy] Introdução ao Cloud Computing e Windows Azure Platform[.Net Juniors Academy] Introdução ao Cloud Computing e Windows Azure Platform
[.Net Juniors Academy] Introdução ao Cloud Computing e Windows Azure Platform
 
The Boss: A Petascale Database for Large-Scale Neuroscience, Powered by Serve...
The Boss: A Petascale Database for Large-Scale Neuroscience, Powered by Serve...The Boss: A Petascale Database for Large-Scale Neuroscience, Powered by Serve...
The Boss: A Petascale Database for Large-Scale Neuroscience, Powered by Serve...
 
Chris Nicholson, CEO Skymind at The AI Conference
Chris Nicholson, CEO Skymind at The AI Conference Chris Nicholson, CEO Skymind at The AI Conference
Chris Nicholson, CEO Skymind at The AI Conference
 
Defend against adversarial AI using Adversarial Robustness Toolbox
Defend against adversarial AI using Adversarial Robustness Toolbox Defend against adversarial AI using Adversarial Robustness Toolbox
Defend against adversarial AI using Adversarial Robustness Toolbox
 
Time Series Anomaly Detection with .net and Azure
Time Series Anomaly Detection with .net and AzureTime Series Anomaly Detection with .net and Azure
Time Series Anomaly Detection with .net and Azure
 
Time Series Classification with Deep Learning | Marco Del Pra
Time Series Classification with Deep Learning | Marco Del PraTime Series Classification with Deep Learning | Marco Del Pra
Time Series Classification with Deep Learning | Marco Del Pra
 
Planning the Migration to the Cloud - AWS India Summit 2012
Planning the Migration to the Cloud - AWS India Summit 2012Planning the Migration to the Cloud - AWS India Summit 2012
Planning the Migration to the Cloud - AWS India Summit 2012
 
ML at the Edge: Building Your Production Pipeline with Apache Spark and Tens...
 ML at the Edge: Building Your Production Pipeline with Apache Spark and Tens... ML at the Edge: Building Your Production Pipeline with Apache Spark and Tens...
ML at the Edge: Building Your Production Pipeline with Apache Spark and Tens...
 

Ähnlich wie High Performance Complex Event Processing Engine

Pre-TechEd EMEA 2012 - SCOM 2012 Down in the cloud
Pre-TechEd EMEA 2012 - SCOM 2012 Down in the cloudPre-TechEd EMEA 2012 - SCOM 2012 Down in the cloud
Pre-TechEd EMEA 2012 - SCOM 2012 Down in the cloudwwwally
 
Software Measurement for Lean Application Management
Software Measurement for Lean Application ManagementSoftware Measurement for Lean Application Management
Software Measurement for Lean Application ManagementCAST
 
Facts & Figures for 3D Lean Learning
Facts & Figures for 3D Lean LearningFacts & Figures for 3D Lean Learning
Facts & Figures for 3D Lean LearningVirtual iVent
 
Sysctr Track: Integrating the components of the System Center suite… The next...
Sysctr Track: Integrating the components of the System Center suite… The next...Sysctr Track: Integrating the components of the System Center suite… The next...
Sysctr Track: Integrating the components of the System Center suite… The next...ITProceed
 
[Dubravko marak] Kako kreirati private cloud koristeći sistem centar 2012
[Dubravko marak] Kako kreirati private cloud koristeći sistem centar 2012[Dubravko marak] Kako kreirati private cloud koristeći sistem centar 2012
[Dubravko marak] Kako kreirati private cloud koristeći sistem centar 2012Dubravko Marak
 
IPsoft Autonomics IT Service Management
IPsoft Autonomics IT Service ManagementIPsoft Autonomics IT Service Management
IPsoft Autonomics IT Service Managementcheahwk
 
Res Software In Healthcare
Res Software In HealthcareRes Software In Healthcare
Res Software In Healthcarejckirby
 
Res Software In Healthcare
Res Software In HealthcareRes Software In Healthcare
Res Software In Healthcarejckirby
 
Application Lifecycle Management & VSTS
Application Lifecycle Management & VSTSApplication Lifecycle Management & VSTS
Application Lifecycle Management & VSTSMicrosoft Iceland
 
Virtualization Map Tech Ed2009
Virtualization Map Tech Ed2009Virtualization Map Tech Ed2009
Virtualization Map Tech Ed2009rsnarayanan
 
Keynote at Depsa07 - architectural view of event processing
Keynote at Depsa07 - architectural view of event processingKeynote at Depsa07 - architectural view of event processing
Keynote at Depsa07 - architectural view of event processingOpher Etzion
 
Software Architecture: Test Case Writing
Software Architecture: Test Case WritingSoftware Architecture: Test Case Writing
Software Architecture: Test Case WritingSitdhibong Laokok
 
Optimize your CI/CD with GitLab and AWS
Optimize your CI/CD with GitLab and AWSOptimize your CI/CD with GitLab and AWS
Optimize your CI/CD with GitLab and AWSDevOps.com
 
MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...
MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...
MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...MongoDB
 
IBM Innovate 2011- What every System i Developer Needs to Know
IBM Innovate 2011- What every System i Developer Needs to KnowIBM Innovate 2011- What every System i Developer Needs to Know
IBM Innovate 2011- What every System i Developer Needs to KnowStrongback Consulting
 
How to monitor all aspects of Citrix NetScaler usage and performance within t...
How to monitor all aspects of Citrix NetScaler usage and performance within t...How to monitor all aspects of Citrix NetScaler usage and performance within t...
How to monitor all aspects of Citrix NetScaler usage and performance within t...eG Innovations
 

Ähnlich wie High Performance Complex Event Processing Engine (20)

Siddhi CEP 1st presentation
Siddhi CEP 1st presentationSiddhi CEP 1st presentation
Siddhi CEP 1st presentation
 
Pre-TechEd EMEA 2012 - SCOM 2012 Down in the cloud
Pre-TechEd EMEA 2012 - SCOM 2012 Down in the cloudPre-TechEd EMEA 2012 - SCOM 2012 Down in the cloud
Pre-TechEd EMEA 2012 - SCOM 2012 Down in the cloud
 
Software Measurement for Lean Application Management
Software Measurement for Lean Application ManagementSoftware Measurement for Lean Application Management
Software Measurement for Lean Application Management
 
Facts & Figures for 3D Lean Learning
Facts & Figures for 3D Lean LearningFacts & Figures for 3D Lean Learning
Facts & Figures for 3D Lean Learning
 
Sysctr Track: Integrating the components of the System Center suite… The next...
Sysctr Track: Integrating the components of the System Center suite… The next...Sysctr Track: Integrating the components of the System Center suite… The next...
Sysctr Track: Integrating the components of the System Center suite… The next...
 
[Dubravko marak] Kako kreirati private cloud koristeći sistem centar 2012
[Dubravko marak] Kako kreirati private cloud koristeći sistem centar 2012[Dubravko marak] Kako kreirati private cloud koristeći sistem centar 2012
[Dubravko marak] Kako kreirati private cloud koristeći sistem centar 2012
 
IPsoft Autonomics IT Service Management
IPsoft Autonomics IT Service ManagementIPsoft Autonomics IT Service Management
IPsoft Autonomics IT Service Management
 
Res Software In Healthcare
Res Software In HealthcareRes Software In Healthcare
Res Software In Healthcare
 
Res Software In Healthcare
Res Software In HealthcareRes Software In Healthcare
Res Software In Healthcare
 
Application Lifecycle Management & VSTS
Application Lifecycle Management & VSTSApplication Lifecycle Management & VSTS
Application Lifecycle Management & VSTS
 
Virtualization Map Tech Ed2009
Virtualization Map Tech Ed2009Virtualization Map Tech Ed2009
Virtualization Map Tech Ed2009
 
Keynote at Depsa07 - architectural view of event processing
Keynote at Depsa07 - architectural view of event processingKeynote at Depsa07 - architectural view of event processing
Keynote at Depsa07 - architectural view of event processing
 
Software Architecture: Test Case Writing
Software Architecture: Test Case WritingSoftware Architecture: Test Case Writing
Software Architecture: Test Case Writing
 
Electric Cloud
Electric CloudElectric Cloud
Electric Cloud
 
Optimize your CI/CD with GitLab and AWS
Optimize your CI/CD with GitLab and AWSOptimize your CI/CD with GitLab and AWS
Optimize your CI/CD with GitLab and AWS
 
MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...
MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...
MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...
 
IBM Innovate 2011- What every System i Developer Needs to Know
IBM Innovate 2011- What every System i Developer Needs to KnowIBM Innovate 2011- What every System i Developer Needs to Know
IBM Innovate 2011- What every System i Developer Needs to Know
 
How to monitor all aspects of Citrix NetScaler usage and performance within t...
How to monitor all aspects of Citrix NetScaler usage and performance within t...How to monitor all aspects of Citrix NetScaler usage and performance within t...
How to monitor all aspects of Citrix NetScaler usage and performance within t...
 
How Salesforce.com Uses Hadoop
How Salesforce.com Uses HadoopHow Salesforce.com Uses Hadoop
How Salesforce.com Uses Hadoop
 
Private cloud day session 3 monitor and operate your private cloud
Private cloud day session 3 monitor and operate your private cloud Private cloud day session 3 monitor and operate your private cloud
Private cloud day session 3 monitor and operate your private cloud
 

Mehr von Kasun Gajasinghe

Building Services with WSO2 Microservices framework for Java and WSO2 AS
Building Services with WSO2 Microservices framework for Java and WSO2 ASBuilding Services with WSO2 Microservices framework for Java and WSO2 AS
Building Services with WSO2 Microservices framework for Java and WSO2 ASKasun Gajasinghe
 
Building Services with WSO2 Microservices framework for Java and WSO2 AS
Building Services with WSO2 Microservices framework for Java and WSO2 ASBuilding Services with WSO2 Microservices framework for Java and WSO2 AS
Building Services with WSO2 Microservices framework for Java and WSO2 ASKasun Gajasinghe
 
Distributed caching with java JCache
Distributed caching with java JCacheDistributed caching with java JCache
Distributed caching with java JCacheKasun Gajasinghe
 
[WSO2] Deployment Synchronizer for Deployment Artifact Synchronization Betwee...
[WSO2] Deployment Synchronizer for Deployment Artifact Synchronization Betwee...[WSO2] Deployment Synchronizer for Deployment Artifact Synchronization Betwee...
[WSO2] Deployment Synchronizer for Deployment Artifact Synchronization Betwee...Kasun Gajasinghe
 
Scheduler Activations - Effective Kernel Support for the User-Level Managemen...
Scheduler Activations - Effective Kernel Support for the User-Level Managemen...Scheduler Activations - Effective Kernel Support for the User-Level Managemen...
Scheduler Activations - Effective Kernel Support for the User-Level Managemen...Kasun Gajasinghe
 
Survey on Frequent Pattern Mining on Graph Data - Slides
Survey on Frequent Pattern Mining on Graph Data - SlidesSurvey on Frequent Pattern Mining on Graph Data - Slides
Survey on Frequent Pattern Mining on Graph Data - SlidesKasun Gajasinghe
 
Google Summer of Code 2011 Sinhalese flyer
Google Summer of Code  2011 Sinhalese flyer Google Summer of Code  2011 Sinhalese flyer
Google Summer of Code 2011 Sinhalese flyer Kasun Gajasinghe
 

Mehr von Kasun Gajasinghe (7)

Building Services with WSO2 Microservices framework for Java and WSO2 AS
Building Services with WSO2 Microservices framework for Java and WSO2 ASBuilding Services with WSO2 Microservices framework for Java and WSO2 AS
Building Services with WSO2 Microservices framework for Java and WSO2 AS
 
Building Services with WSO2 Microservices framework for Java and WSO2 AS
Building Services with WSO2 Microservices framework for Java and WSO2 ASBuilding Services with WSO2 Microservices framework for Java and WSO2 AS
Building Services with WSO2 Microservices framework for Java and WSO2 AS
 
Distributed caching with java JCache
Distributed caching with java JCacheDistributed caching with java JCache
Distributed caching with java JCache
 
[WSO2] Deployment Synchronizer for Deployment Artifact Synchronization Betwee...
[WSO2] Deployment Synchronizer for Deployment Artifact Synchronization Betwee...[WSO2] Deployment Synchronizer for Deployment Artifact Synchronization Betwee...
[WSO2] Deployment Synchronizer for Deployment Artifact Synchronization Betwee...
 
Scheduler Activations - Effective Kernel Support for the User-Level Managemen...
Scheduler Activations - Effective Kernel Support for the User-Level Managemen...Scheduler Activations - Effective Kernel Support for the User-Level Managemen...
Scheduler Activations - Effective Kernel Support for the User-Level Managemen...
 
Survey on Frequent Pattern Mining on Graph Data - Slides
Survey on Frequent Pattern Mining on Graph Data - SlidesSurvey on Frequent Pattern Mining on Graph Data - Slides
Survey on Frequent Pattern Mining on Graph Data - Slides
 
Google Summer of Code 2011 Sinhalese flyer
Google Summer of Code  2011 Sinhalese flyer Google Summer of Code  2011 Sinhalese flyer
Google Summer of Code 2011 Sinhalese flyer
 

Kürzlich hochgeladen

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 

Kürzlich hochgeladen (20)

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 

High Performance Complex Event Processing Engine

  • 1. A HIGH PERFORMANCE COMPLEX EVENT PROCESSING ENGINE http://siddhi.sourceforge.net/
  • 2. Siddhi and NBQSA • Bronze award under Tertiary Category at the National Best Quality Software Awards 2011 • Held on 7th October 2011 in Sri Lanka
  • 3. INTRODUCTION Project Group Members • Suhothayan S. (Suho) • Loku Narangoda I.U. (Isuru) • Chaturanga H.W.G.S (Subash) • Gajasinghe K.C.B. (Kasun) Project Supervisors • Dr. Srinath Perera • Ms.Vishaka Nanayakkara
  • 4. WHAT IS CEP ? Complex Event Processing (CEP) is identifying meaningful patterns, relationships and data abstractions among unrelated events and fire an immediate response. Database Applications Event-driven Applications Query Ad-hoc queries or requests Continuous standing queries Paradigm Latency Seconds, hours, days Milliseconds or less Tens of thousands of Data Rate Hundreds of events/sec events/sec or more Event request output input stream response stream
  • 5. SCENARIOS OF EVENT PROCESSING Latency Months Days CEP Target Scenarios Relational Database hours Operational Analytics Applications Applications, e.g., Minutes Data Warehousing Logistics, etc. Applications Seconds Web Analytics Applications 100 ms Monitoring Manufacturing Financial Applications Applications Trading < 1ms Applications 0 10 100 1000 10000 100000 ~1million Aggregate Data Rate (Events/sec.)
  • 7. CURRENT CEP SOLUTIONS • S4 • Streambase • Esper • TelegraphCQ • Aurora
  • 8. THE PROBLEMS WITH THEM ? • Not enough support for complex queries • Less efficient - High latency and High memory consumption • Proprietary
  • 9. SIDDHI CEP • Project Objectives • Siddhi Architecture • What we did? • Siddhi Implementation • Siddhi Performance • Miscellaneous – Website – Documentation – Project Tracker • Siddhi Deployments
  • 10. SIDDHI CEP • Project Objectives • Siddhi Architecture • What we did? • Siddhi Implementation • Siddhi Performance • Miscellaneous – Website – Documentation – Project Tracker • Siddhi Deployments
  • 11. PROJECT OBJECTIVES • Carry out research to come up with effective algorithms and approaches to implement A High Performing CEP engine. • Come up with an effective architecture for a CEP Engine which can detect events in a computationally efficient way.
  • 12. FROM RESEARCH For State Machine SASE: High-Performance Complex Event Processing over Streams For Pipeline Architecture Aurora: a new model and architecture for data stream management For Query Plan Management Query Processing, Resource Management, and Approximation in a Data Stream Management
  • 13. SIDDHI CEP • Project Objectives • Siddhi Architecture • What we did? • Siddhi Implementation • Siddhi Performance • Miscellaneous – Website – Documentation – Project Tracker • Siddhi Deployments
  • 14. User Output Adapters Input Adapters Compiler Siddhi Manager User Input a Query
  • 15. User Output Adapters Input Adapters Compiler Siddhi Manager Compiling the query
  • 16. User Output Adapters Input Adapters Compiler Siddhi Manager Query get compiled into an object model
  • 17. User Output Adapters Input Adapters Compiler Siddhi Manager Query Object Model is parsed to the Siddhi Manager
  • 18. User Output Adapters Input Adapters Compiler Siddhi Manager Event arrives to the Input Adapter
  • 19. User Output Adapters Input Adapters Compiler Siddhi Manager Convert the Event to a tuple and place it to the input event queue
  • 20. User Output Adapters Input Adapters Compiler Siddhi Manager Processor takes the tuple from the queue
  • 21. User Output Adapters Input Adapters Compiler Siddhi Manager Executing the queries…Other Events arrives at the same time
  • 22. User Output Adapters Input Adapters Compiler Siddhi Manager Non matching event thrown away
  • 23. User Output Adapters Input Adapters Compiler Siddhi Manager
  • 24. User Output Adapters Input Adapters Compiler Siddhi Manager Matching Event creates the output Event
  • 25. User Output Adapters Input Adapters Compiler Siddhi Manager Pushing generated Events to the output queue
  • 26. User Output Adapters Input Adapters Compiler Siddhi Manager User get notified through output Adapter
  • 27. User Output Adapters Input Adapters Compiler Siddhi Manager Same procedure happens again and again…
  • 29. SIDDHI CEP • Project Objectives • Siddhi Architecture • What we did? • Siddhi Implementation • Siddhi Performance • Miscellaneous – Website – Documentation – Project Tracker • Siddhi Deployments
  • 30. Our PROGRESS • Initial research • System Design • 1st iteration • Web site • 2nd iteration • All major functionalities are implemented • Profiling and Performance Testing • Improved Siddhi API • Siddhi Benchmark • 3rd iteration • Adding new features for user requests • Profiling and Performance Testing
  • 31. SIDDHI CEP • Project Objectives • Siddhi Architecture • What we did? • Siddhi Implementation • Siddhi Performance • Miscellaneous – Website – Documentation – Project Tracker • Siddhi Deployments
  • 32. SIDDHI FUNCTIONALITIES • Filter • State Machine • Sequence Query • Pattern Query • Join Event Streams • Time Window • Length Window • Batch Window
  • 33. API TO WRITE QUERIES Sample query for Filter Query query = qf.createQuery( "StockQuote", qf.output("price=CSEStream.price"), qf.inputStream(cseEventStream), qf.condition("CSEStream.symbol", EQUAL, "IBM") );
  • 34. API TO WRITE QUERIES Pattern Queries For, A* B – Query query = qf.createQuery( "StockQuote", qf.output("priceA=$0.last.price", "priceB=$1.price"), qf.inputStreams(cseEventStream, infoStock), qf.pattern( qf.star( qf.condition("CSEStream.price", GREATERTHAN, "$0.prev.price“) ), qf.condition("CSEStream.price", LESSTHAN, "$0.last.price") ) );
  • 35. API TO WRITE QUERIES Aggregators • Average (avg) • count • max • min • sum Query query = qf.createQuery( "StockQuote", qf.output( "symbol=CSEStream.symbol“, "avgPrice=avg(CSEStream.price)", "count=count(CSEStream.symbol)"), qf.inputStream(cseEventStream), qf.condition("CSEStream.symbol", EQUAL, "IBM") );
  • 36. Development Process • Test Driven Development (TDD) • Scrum
  • 37. PERFORMANCE IMPROVEMENTS • Profiling – For improving latency, Memory leaks
  • 38. ADDITIONAL FEATURES • Improvements in the Selection Operator - using MVEL • Support conditions on the aggregation functions -having, group-by • Event quantifications in sequential patterns -kleene closure (*) • Unique function
  • 39. SIDDHI CEP • Project Objectives • Siddhi Architecture • What we did? • Siddhi Implementation • Siddhi Performance • Miscellaneous – Website – Documentation – Project Tracker • Siddhi Deployments
  • 40. PERFORMANCE TESTING Details of the Machine Hardware : Intel- Core 2 Duo 2.10 GHz Memory 1.9GB OS : Ubuntu Release 9.10 Kernel Linux 2.6.31-14-generic GNOME - 2.28.1
  • 41. PERFORMANCE COMPARISON WITH ESPER Performance Comparison for a simple filter without a window Events Siddhi Esper (ms) (ms) 10 4 5 100 5.6 9.8 1000 34.5 55.2 10,000 252.6 491 100,000 961.4 1669.2 1000,000 3730.6 5546.8
  • 42. PERFORMANCE COMPARISON WITH ESPER Performance Comparison for a timed window query for average calculation for a given symbol Events Siddhi Esper (ms) (ms) 10 5 9 100 10.6 16.2 1000 52 109.2 10,000 419.2 1159.2 100,000 1302.8 2724 1000,000 7883.2 11589.8
  • 43. PERFORMANCE COMPARISON WITH ESPER Performance Comparison for a State machine query Events Siddhi Esper (ms) (ms) 10 5.8 30 100 11 58.4 1000 98.6 333 10,000 550.4 2285.6 100,000 1606 9663.2 1000,000 12563 77641
  • 44. SIDDHI CEP • Project Objectives • Siddhi Architecture • What we did? • Siddhi Implementation • Siddhi Performance • Miscellaneous – Website – Documentation – Project Tracker • Siddhi Deployments
  • 45. WEB SITE http://siddhi.sourceforge.net/
  • 48. PROJECT TRACKING PAGE http://www.ohloh.net/p/siddhi-cep
  • 49. SIDDHI DISTRIBUTION How other projects can use Siddhi? The Siddhi jar is now available in Sonatype maven repository.
  • 50. SIDDHI CEP • Project Objectives • Siddhi Architecture • What we did? • Siddhi Implementation • Siddhi Performance • Miscellaneous – Website – Documentation – Project Tracker • Siddhi Deployments
  • 51. OPENMRS NCD MODULE https://wiki.openmrs.org/display/docs/Notifiable +Condition+Detector+%28NCD%29+Module
  • 52. FUTURE OF SIDDHI • Pushing Siddhi Project to Apache
  • 53. LITERATURE REVIEW • T. J. Owens, "Survey of event processing. Technical report, Air Force Research Laboratory, Information Directorate ," 2007. • G. Tóth, R. Rácz, J. Pánczél, T. Gergely, A. Beszédes, L. Farkas, L.J. Fülöp, "Survey on Complex Event Processing and Predictive Analytics," , 2010. • Alex Cheung, Guoli Li, Balasubramaneyam Maniymaran, Vinod Muthusamy, Reza Sherafat Kazemzadeh Hans-Arno Jacobsen, "System, The PADRES Publish/Subscribe,". • Air Force Research Laboratory, "Survey of Event Processing ," , 2007. • J. Nagy, "User-Centric Personalized Extensibility for Data-Driven Web Applications , IF/AFOSR Minigrant Proposal," , 2007. • J. Gehrke, B. Panda, M. Riedewald, V. Sharma, and W. White A. Demers, "Cayuga: A General Purpose Event Monitoring System," , Asolimar, California, January 2007. • J. Gehrke, M. Hong, M. Riedewald, and W. White A. Demers, "A General Algebra and Implementation for Monitoring Event Streams," 2005. • K. Vikram, "FingerLakes: A Distributed Event Stream Monitoring System,". • D Abadi, D Carney, U. Cetintemel, and M. et al. Cherniack, "Aurora: a data stream management system," , San Diego, California, 2003.
  • 54. LITERATURE REVIEW • H. Balakrishnan, M. Balazinska, D. Carney, and U. et al. Cetintemel, "Retrospective on Aurora," vol. 13, no. 4, 2004. • D. Abadi, Y. Ahmad, and M. Balazinska: U. Cetintemel et al. al., "The Design of the Borealis Stream Processing Engine," , 2005. • S. Zdonik, M. Stonebraker, M. Cherniack, and U. Centintemel et al., "The Aurora and Medusa Projects," , 2003. • S. Chandrasekaran, O. Cooper, A. Deshpande, and M. Franklin et al., "TelegraphCQ: Continuous Dataflow Processing for an Uncertain World," , 2003. • S. Chandrasekaran, O. Cooper, A. Deshpande, M. Franklin, J. Hellerstein, W. Hong, S. Madden, F. Reiss, M. Shah, S. Krishnamurthy, "TelegraphCQ: An Architectural Status Report," IEEE Data Engineering Bulletin, vol. 26, no. 1, 2003. • T. Sellis, "Multiple Query Optimization," , 1988. • N., Sanghai, S., Roy, P., Sudarshan, S. Dalvi, "Pipelining in Multi-Query Optimization," , 2001. • A., Sudarshan, S., Viswanathan, S. Gupta, "Query Scheduling in Multi Query Optimization," , 2001. • P., Seshadri, A., Sudarshan, A., Bhobhe, S. Roy, "Efficient and Extensible Algorithms For Multi Query Optimization," , 2000. • S. Zdonik. (2006, March) Stream Processing Overview [presentation] Workshop on Event Processing, Hawthorne, New York. • M. Liu, L. Ding, E.A. Rundensteiner, and M. Mani M. Li, "Event Stream Processing with Out-of-Order Data Arrival," , 2007. • Y. Diao, D. Gyllstrom, and N. Immerman J. Agrawal, "Efficient pattern matching over event streams," , 2008. • T. Shafeek, "Aurora: A New Model And Architecture For Data Stream Management, B.Tech Seminar Report, Government Engineering College, Thrissur," 2010.