SlideShare a Scribd company logo
S IDDHI -CEP A H IGH  P ERFORMANCE  C OMPLEX  E VENT  P ROCESSING  E NGINE
Q UICK  R ECAP What is CEP? Why Siddhi?
W HAT   IS  CEP In abstract, the tasks of the CEP is to identify meaningful patterns, relationships and data abstractions among unrelated events and fire an immediate response such as an Alert message.
W HY  S IDDHI ? Cons in current CEP solutions Proprietary Not enough support for complex queries Less efficient - High latency and memory consumption Advantages in Siddhi
P ROGRESS   SO   FAR ...
P ROGRESS   SO   FAR ... Initial research  System Design 1 st  iteration Web site Improved Siddhi API  2 nd  iteration  All major functionalities are implemented   Profiling and Performance Testing
S IDDHI  F UNCTIONALITIES Filter State Machine (Sequence Query) Join Event Streams Time Window Length Window
API  TO  W RITE  Q UERIES 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  W RITE  Q UERIES Sample query for Sequence Query Query query = qf.createQuery(                      "StockQuote" ,                      qf.output("action=$0.action", "priceA=$1.price", "priceA=$2.price"),                       qf.inputStreams(cseEventStream, infoStock),                      qf.sequence(                              qf.condition("infoStock.action", EQUAL, "buy"),                              qf.every(                                      qf.condition("CSEStream.price", GREATERTHAN, "75"),                                      qf.condition("CSEStream.price", GREATERTHAN, "$1.price")                              )                      )              );
API  TO  W RITE  Q UERIES Aggregators 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")              );
P ERFORMANCE  T ESTING   Details of the machine we used  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
P ERFORMANCE  C OMPARISON   WITH  E SPER   Performance Comparison for a simple filter without a window Events Siddhi (ms) Esper (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
P ERFORMANCE  C OMPARISON   WITH  E SPER   Performance Comparison for a timed window query for average calculation for a given symbol Events Siddhi (ms) Esper (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
P ERFORMANCE  C OMPARISON   WITH  E SPER   Performance Comparison for a State machine query Events Siddhi (ms) Esper (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
Questions?
Thank You  

More Related Content

PDF
Stripe on Atmoph
PDF
Spark Jobserver
PPT
computer notes - Data Structures - 18
PPT
Computer notes - Reference Variables –II
TXT
PPT
c++ Lecture 2
PDF
Lecture 4
PDF
Null, the Abyss
Stripe on Atmoph
Spark Jobserver
computer notes - Data Structures - 18
Computer notes - Reference Variables –II
c++ Lecture 2
Lecture 4
Null, the Abyss

What's hot (14)

PDF
Design Summit - Rails 4 Migration - Aaron Patterson
PPTX
2019 session 5 describe different basic programming codes and languages
PPTX
Synapse india dotnet development overloading operater part 3
PDF
ES6 Let
PDF
A Spin-off: CryEngine 3 SDK Checked with CppCat
PDF
Ansible Callback Plugins
PPTX
Phpbase
TXT
Lab07 (1)
ODP
Specs Presentation
PDF
JavaScript徹底整理セミナー "今から始める人も、整理したい人も"
PDF
Es6 everywhere
KEY
Two-StageCreation
PPTX
Stop Programming in JavaScript By Luck
Design Summit - Rails 4 Migration - Aaron Patterson
2019 session 5 describe different basic programming codes and languages
Synapse india dotnet development overloading operater part 3
ES6 Let
A Spin-off: CryEngine 3 SDK Checked with CppCat
Ansible Callback Plugins
Phpbase
Lab07 (1)
Specs Presentation
JavaScript徹底整理セミナー "今から始める人も、整理したい人も"
Es6 everywhere
Two-StageCreation
Stop Programming in JavaScript By Luck
Ad

Viewers also liked (20)

PPT
Debug Program in Mule
PPTX
Developer’s viewpoint on swift programming language
PDF
Administration and Management with UltraESB
PPT
Mule connectors
PPTX
Siddhi CEP 1st presentation
PPTX
ESB 4.9.0 extension points, Connectors and Inbound Endpoints
PDF
Enterprise Integration made easy with WSO2 ESB
PDF
WSO2 ESB and SOA
PDF
Microintegration
ODP
Systems management - UltraESB
PDF
Magento 2.0 - eCommerce Web Portal Solutions | Case Study
PPTX
WSO2 Gateway
PPTX
Mulesoft - Documentation (Automation)
PDF
Deep-dive into WSO2 ESB 5.0
PPT
WSO2-ESB - The backbone of Enterprise Integration
PDF
System Configuration for UltraESB
PPTX
Liferay (DXP) 7 Tech Meetup for Developers
PPTX
Introduction to WSO2 Integration Platform
PPTX
The Middleware technology that connects the enterprise
Debug Program in Mule
Developer’s viewpoint on swift programming language
Administration and Management with UltraESB
Mule connectors
Siddhi CEP 1st presentation
ESB 4.9.0 extension points, Connectors and Inbound Endpoints
Enterprise Integration made easy with WSO2 ESB
WSO2 ESB and SOA
Microintegration
Systems management - UltraESB
Magento 2.0 - eCommerce Web Portal Solutions | Case Study
WSO2 Gateway
Mulesoft - Documentation (Automation)
Deep-dive into WSO2 ESB 5.0
WSO2-ESB - The backbone of Enterprise Integration
System Configuration for UltraESB
Liferay (DXP) 7 Tech Meetup for Developers
Introduction to WSO2 Integration Platform
The Middleware technology that connects the enterprise
Ad

Similar to Siddhi CEP 2nd sideshow presentation (20)

PDF
Complex Event Processor 3.0.0 - An overview of upcoming features
PDF
Introducing the WSO2 Complex Event Processor
PDF
Scalable Event Processing with WSO2CEP @ WSO2Con2015eu
PDF
WSO2 Product Release Webinar - Introducing the WSO2 Complex Event Processor
PDF
WSO2 Product Release Webinar - WSO2 Complex Event Processor
PDF
Strtio Spark Streaming + Siddhi CEP Engine
PPTX
Telegraph Cq English
PDF
WSO2 Complex Event Processor
PPTX
Data Stream Management
PDF
Filtering 100M objects in Coherence cache. What can go wrong?
PDF
Spark Summit - Stratio Streaming
PDF
WSO2 Product Release Webinar: WSO2 Complex Event Processor 4.0
PDF
Postgres Performance for Humans
PDF
Design and Implementation of A Data Stream Management System
PPTX
Data Stream Management
PDF
Postgres can do THAT?
PDF
Adaptive Query Processing on RAW Data
PPT
Coherence SIG: Advanced usage of indexes in coherence
PDF
Advanced queries on the Infinispan Data Grid
PDF
JDD 2016 - Tomasz Borek - DB for next project? Why, Postgres, of course
Complex Event Processor 3.0.0 - An overview of upcoming features
Introducing the WSO2 Complex Event Processor
Scalable Event Processing with WSO2CEP @ WSO2Con2015eu
WSO2 Product Release Webinar - Introducing the WSO2 Complex Event Processor
WSO2 Product Release Webinar - WSO2 Complex Event Processor
Strtio Spark Streaming + Siddhi CEP Engine
Telegraph Cq English
WSO2 Complex Event Processor
Data Stream Management
Filtering 100M objects in Coherence cache. What can go wrong?
Spark Summit - Stratio Streaming
WSO2 Product Release Webinar: WSO2 Complex Event Processor 4.0
Postgres Performance for Humans
Design and Implementation of A Data Stream Management System
Data Stream Management
Postgres can do THAT?
Adaptive Query Processing on RAW Data
Coherence SIG: Advanced usage of indexes in coherence
Advanced queries on the Infinispan Data Grid
JDD 2016 - Tomasz Borek - DB for next project? Why, Postgres, of course

More from Sriskandarajah Suhothayan (7)

PDF
Siddhi - cloud-native stream processor
PDF
A head start on cloud native event driven applications - bigdatadays
PDF
Stream Processing with Ballerina
PDF
The Rise of Streaming SQL
PDF
WSO2 Stream Processor: Graphical Editor, HTTP & Message Trace Analytics and m...
PDF
Discover Data That Matters- Deep dive into WSO2 Analytics
PDF
Analytics Patterns for Your Digital Enterprise
Siddhi - cloud-native stream processor
A head start on cloud native event driven applications - bigdatadays
Stream Processing with Ballerina
The Rise of Streaming SQL
WSO2 Stream Processor: Graphical Editor, HTTP & Message Trace Analytics and m...
Discover Data That Matters- Deep dive into WSO2 Analytics
Analytics Patterns for Your Digital Enterprise

Recently uploaded (20)

PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
Cloud computing and distributed systems.
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
A Presentation on Artificial Intelligence
PDF
Electronic commerce courselecture one. Pdf
PDF
NewMind AI Monthly Chronicles - July 2025
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
cuic standard and advanced reporting.pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Approach and Philosophy of On baking technology
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
MYSQL Presentation for SQL database connectivity
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
Spectral efficient network and resource selection model in 5G networks
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Per capita expenditure prediction using model stacking based on satellite ima...
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Cloud computing and distributed systems.
Encapsulation_ Review paper, used for researhc scholars
A Presentation on Artificial Intelligence
Electronic commerce courselecture one. Pdf
NewMind AI Monthly Chronicles - July 2025
Digital-Transformation-Roadmap-for-Companies.pptx
CIFDAQ's Market Insight: SEC Turns Pro Crypto
cuic standard and advanced reporting.pdf
Understanding_Digital_Forensics_Presentation.pptx
The AUB Centre for AI in Media Proposal.docx
Approach and Philosophy of On baking technology
The Rise and Fall of 3GPP – Time for a Sabbatical?
Agricultural_Statistics_at_a_Glance_2022_0.pdf
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
MYSQL Presentation for SQL database connectivity
“AI and Expert System Decision Support & Business Intelligence Systems”

Siddhi CEP 2nd sideshow presentation

  • 1. S IDDHI -CEP A H IGH P ERFORMANCE C OMPLEX E VENT P ROCESSING E NGINE
  • 2. Q UICK R ECAP What is CEP? Why Siddhi?
  • 3. W HAT IS CEP In abstract, the tasks of the CEP is to identify meaningful patterns, relationships and data abstractions among unrelated events and fire an immediate response such as an Alert message.
  • 4. W HY S IDDHI ? Cons in current CEP solutions Proprietary Not enough support for complex queries Less efficient - High latency and memory consumption Advantages in Siddhi
  • 5. P ROGRESS SO FAR ...
  • 6. P ROGRESS SO FAR ... Initial research  System Design 1 st iteration Web site Improved Siddhi API 2 nd iteration  All major functionalities are implemented   Profiling and Performance Testing
  • 7. S IDDHI F UNCTIONALITIES Filter State Machine (Sequence Query) Join Event Streams Time Window Length Window
  • 8. API TO W RITE Q UERIES Sample query for Filter Query query = qf.createQuery(                     "StockQuote" ,                     qf.output("price=CSEStream.price") ,                     qf.inputStream(cseEventStream),                     qf.condition("CSEStream.symbol", EQUAL, "IBM")             );
  • 9. API TO W RITE Q UERIES Sample query for Sequence Query Query query = qf.createQuery(                     "StockQuote" ,                     qf.output("action=$0.action", "priceA=$1.price", "priceA=$2.price"),                      qf.inputStreams(cseEventStream, infoStock),                     qf.sequence(                             qf.condition("infoStock.action", EQUAL, "buy"),                             qf.every(                                     qf.condition("CSEStream.price", GREATERTHAN, "75"),                                     qf.condition("CSEStream.price", GREATERTHAN, "$1.price")                             )                     )             );
  • 10. API TO W RITE Q UERIES Aggregators 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")             );
  • 11. P ERFORMANCE T ESTING   Details of the machine we used 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
  • 12. P ERFORMANCE C OMPARISON WITH E SPER   Performance Comparison for a simple filter without a window Events Siddhi (ms) Esper (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
  • 13. P ERFORMANCE C OMPARISON WITH E SPER   Performance Comparison for a timed window query for average calculation for a given symbol Events Siddhi (ms) Esper (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
  • 14. P ERFORMANCE C OMPARISON WITH E SPER   Performance Comparison for a State machine query Events Siddhi (ms) Esper (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
  • 16. Thank You