SlideShare a Scribd company logo
1 of 17
EVALUATION CRITERIA
Embeddable API vs SOA
Event Oriented vs Workflow / Production Oriented
Rule Definition (XML, POJO, flat file)
Rule Management
Open Source vs Commercial
Event format
Scalability
High Availability
CEP PRODUCTS
Drools
Esper
Sybase ESP
Oracle Event Processing
IBM WebSphere Business Events
TIBCO BusinessEvents & Streambase
Jess
Sqlstream
DROOLS
Drools does not have a High Availability solution.
Drools 6.0.1.Final version drops several actions to the events (As per the user
forum this issue has been fixed in 6.1.0.Beta2).
The events are not garbage collected, after running for some time, it throws out of
memory exception while processing 4 million events (Refer the picture below,
the memory usage never reduced).
Processes 1 million small events in 4 seconds with 2000MB memory.
ESPER
Esper software is the CEP engine in Oracle Complex Event Processing product.
Esper has High Availability solution (Hot-Standby).
Esper has very good memory management, cleans up the events and was able to
process 10 million events. (Refer the memory usage graph below)
Processes 1million small events in 4 seconds with just 300MB memory.
SYBASE ESP
Supports High Availability configuration
Always runs as a server, not embeddable in the application.
Must provide input adapters to feed the data into the engine.
Must provide output adapters to get the data from engine and perform
actions.
Custom adapters can be built in C, Java and .Net
Queries are written in CCL (Continuous Computation Language), which is
based on SQL.
Uses data-flow programming for processing event streams
COMPARISON
Rule Engine / Feature Drools Esper Sybase ESP
Capable of processing events
(Complex Event Processing)?
Yes Yes Yes
Workflow
(production/inference) rule
engine?
Yes No No
Embeddable in a Java
application?
Yes Yes No
Run the engine as a service? Yes Yes, only with
enterprise
edition.
Yes
Supports sliding window of
interesting events
Yes Yes Yes
COMPARISON CONTINUED…
Rule Engine /
Feature
Drools Esper Sybase ESP
Rule Definition Text files, GUI
editor is
available
EPL, it is SQL like
language, GUI
editor is available,
with enterprise
edition.
The schema is
created with
CCL, it is SQL
like language
Rule
Management
components
available?
Yes Yes, only with
enterprise edition.
No
Rule versioning
available?
Yes, with an
additional
component
Guvnor.
No No
COMPARISON CONTINUED…
Rule Engine /
Feature
Drools Esper Sybase ESP
Production and
development
support available?
Yes Yes Yes
Action execution
sequencing support
Available with
rule flow
group.
Available with
@Priority
annotation to the
statement.
The custom output
Adapter has to
manage this.
High Availability No Yes Yes
Hot deployment of
rules
Yes Yes, only with
enterprise edition.
No
Open source
software?
Yes Yes No
COMPARISON CONTINUED…
Rule Engine /
Feature
Drools Esper Sybase ESP
Scalability Not so much
scalable. Throws
out of memory
error while
processing 4
million events.
Yes, highly
scalable. It was
able to process 10
million events in 1
minute.
Yes, capable of
processing hundreds
of thousands of
events per second.
Event Format Java object Java object, Map,
XML
Events are inserted
with the input
adapter. Sybase
provides several
adapters. Ex: csv
inpt adapter, csv
output adapter.
CUSTOMERS
Esper
 PayPal
 Accenture
 InMobi
 Rackspace
 Huawei
 Oracle
Drools
 Information not available
Sybase ESP
 Information not available
SCALING ESPER
Partitioned Stream
 An Esper Enterprise Edition server acts as a dispatcher of input stream events
 Each server executes identical EPL statements on a subset of input stream events
 Partitioned based on hashing or key ranges
SCALING ESPER
Partition by Use Case
 Each server instance receives all the events.
 Each server executes a sub set of EPL statements.
SCALING ESPER
Pipeline model
 Each server in the pipeline performs a sub task.
SCALING ESPER WITH STORM
Strom Bolt lacks event aggregation capability
Storm Bolt can perform simple event processing tasks
Storm Bolt can leverage Esper to perform complex event processing tasks.
This configuration of Storm and Esper, can scale up to handle very large number of events
(close to million events per second with 10 server cluster).
REFERENCES
https://www.jboss.org/drools/
http://esper.codehaus.org/
http://www.espertech.com/
http://en.wikipedia.org/wiki/Business_rules_engine
http://srinathsview.blogspot.in/2012/05/how-to-scale-complex-event-
processing.html
http://storm.incubator.apache.org/
http://tomdzk.wordpress.com/2011/09/28/storm-esper/
http://www.plugtree.com/making-a-non-persistent-ha-knowledge-session/

More Related Content

What's hot

Stream processing using Kafka
Stream processing using KafkaStream processing using Kafka
Stream processing using KafkaKnoldus Inc.
 
Streaming all over the world Real life use cases with Kafka Streams
Streaming all over the world  Real life use cases with Kafka StreamsStreaming all over the world  Real life use cases with Kafka Streams
Streaming all over the world Real life use cases with Kafka Streamsconfluent
 
Introduction to Kafka Streams
Introduction to Kafka StreamsIntroduction to Kafka Streams
Introduction to Kafka StreamsGuozhang Wang
 
Apache storm vs. Spark Streaming
Apache storm vs. Spark StreamingApache storm vs. Spark Streaming
Apache storm vs. Spark StreamingP. Taylor Goetz
 
Simplify DevOps with Microservices and Mobile Backends.pptx
Simplify DevOps with Microservices and Mobile Backends.pptxSimplify DevOps with Microservices and Mobile Backends.pptx
Simplify DevOps with Microservices and Mobile Backends.pptxssuser5faa791
 
Unifying Stream, SWL and CEP for Declarative Stream Processing with Apache Flink
Unifying Stream, SWL and CEP for Declarative Stream Processing with Apache FlinkUnifying Stream, SWL and CEP for Declarative Stream Processing with Apache Flink
Unifying Stream, SWL and CEP for Declarative Stream Processing with Apache FlinkDataWorks Summit/Hadoop Summit
 
Microservices in the Apache Kafka Ecosystem
Microservices in the Apache Kafka EcosystemMicroservices in the Apache Kafka Ecosystem
Microservices in the Apache Kafka Ecosystemconfluent
 
Introduction to Spark Streaming
Introduction to Spark StreamingIntroduction to Spark Streaming
Introduction to Spark Streamingdatamantra
 
Apache Flink @ NYC Flink Meetup
Apache Flink @ NYC Flink MeetupApache Flink @ NYC Flink Meetup
Apache Flink @ NYC Flink MeetupStephan Ewen
 
Building Real-Time BI Systems with Kafka, Spark, and Kudu: Spark Summit East ...
Building Real-Time BI Systems with Kafka, Spark, and Kudu: Spark Summit East ...Building Real-Time BI Systems with Kafka, Spark, and Kudu: Spark Summit East ...
Building Real-Time BI Systems with Kafka, Spark, and Kudu: Spark Summit East ...Spark Summit
 
Real-Life Use Cases & Architectures for Event Streaming with Apache Kafka
Real-Life Use Cases & Architectures for Event Streaming with Apache KafkaReal-Life Use Cases & Architectures for Event Streaming with Apache Kafka
Real-Life Use Cases & Architectures for Event Streaming with Apache KafkaKai Wähner
 
Azure SQL Database
Azure SQL DatabaseAzure SQL Database
Azure SQL Databaserockplace
 
Spline: Data Lineage For Spark Structured Streaming
Spline: Data Lineage For Spark Structured StreamingSpline: Data Lineage For Spark Structured Streaming
Spline: Data Lineage For Spark Structured StreamingVaclav Kosar
 
Kafka for Real-Time Replication between Edge and Hybrid Cloud
Kafka for Real-Time Replication between Edge and Hybrid CloudKafka for Real-Time Replication between Edge and Hybrid Cloud
Kafka for Real-Time Replication between Edge and Hybrid CloudKai Wähner
 
Hadoop Interview Questions And Answers Part-2 | Big Data Interview Questions ...
Hadoop Interview Questions And Answers Part-2 | Big Data Interview Questions ...Hadoop Interview Questions And Answers Part-2 | Big Data Interview Questions ...
Hadoop Interview Questions And Answers Part-2 | Big Data Interview Questions ...Simplilearn
 
What’s New in Amazon Aurora for MySQL and PostgreSQL
What’s New in Amazon Aurora for MySQL and PostgreSQLWhat’s New in Amazon Aurora for MySQL and PostgreSQL
What’s New in Amazon Aurora for MySQL and PostgreSQLAmazon Web Services
 
The Columnar Era: Leveraging Parquet, Arrow and Kudu for High-Performance Ana...
The Columnar Era: Leveraging Parquet, Arrow and Kudu for High-Performance Ana...The Columnar Era: Leveraging Parquet, Arrow and Kudu for High-Performance Ana...
The Columnar Era: Leveraging Parquet, Arrow and Kudu for High-Performance Ana...DataWorks Summit/Hadoop Summit
 
Optimizing Delta/Parquet Data Lakes for Apache Spark
Optimizing Delta/Parquet Data Lakes for Apache SparkOptimizing Delta/Parquet Data Lakes for Apache Spark
Optimizing Delta/Parquet Data Lakes for Apache SparkDatabricks
 
Introduction to Apache Kafka
Introduction to Apache KafkaIntroduction to Apache Kafka
Introduction to Apache KafkaJeff Holoman
 
Kafka Tutorial - Introduction to Apache Kafka (Part 1)
Kafka Tutorial - Introduction to Apache Kafka (Part 1)Kafka Tutorial - Introduction to Apache Kafka (Part 1)
Kafka Tutorial - Introduction to Apache Kafka (Part 1)Jean-Paul Azar
 

What's hot (20)

Stream processing using Kafka
Stream processing using KafkaStream processing using Kafka
Stream processing using Kafka
 
Streaming all over the world Real life use cases with Kafka Streams
Streaming all over the world  Real life use cases with Kafka StreamsStreaming all over the world  Real life use cases with Kafka Streams
Streaming all over the world Real life use cases with Kafka Streams
 
Introduction to Kafka Streams
Introduction to Kafka StreamsIntroduction to Kafka Streams
Introduction to Kafka Streams
 
Apache storm vs. Spark Streaming
Apache storm vs. Spark StreamingApache storm vs. Spark Streaming
Apache storm vs. Spark Streaming
 
Simplify DevOps with Microservices and Mobile Backends.pptx
Simplify DevOps with Microservices and Mobile Backends.pptxSimplify DevOps with Microservices and Mobile Backends.pptx
Simplify DevOps with Microservices and Mobile Backends.pptx
 
Unifying Stream, SWL and CEP for Declarative Stream Processing with Apache Flink
Unifying Stream, SWL and CEP for Declarative Stream Processing with Apache FlinkUnifying Stream, SWL and CEP for Declarative Stream Processing with Apache Flink
Unifying Stream, SWL and CEP for Declarative Stream Processing with Apache Flink
 
Microservices in the Apache Kafka Ecosystem
Microservices in the Apache Kafka EcosystemMicroservices in the Apache Kafka Ecosystem
Microservices in the Apache Kafka Ecosystem
 
Introduction to Spark Streaming
Introduction to Spark StreamingIntroduction to Spark Streaming
Introduction to Spark Streaming
 
Apache Flink @ NYC Flink Meetup
Apache Flink @ NYC Flink MeetupApache Flink @ NYC Flink Meetup
Apache Flink @ NYC Flink Meetup
 
Building Real-Time BI Systems with Kafka, Spark, and Kudu: Spark Summit East ...
Building Real-Time BI Systems with Kafka, Spark, and Kudu: Spark Summit East ...Building Real-Time BI Systems with Kafka, Spark, and Kudu: Spark Summit East ...
Building Real-Time BI Systems with Kafka, Spark, and Kudu: Spark Summit East ...
 
Real-Life Use Cases & Architectures for Event Streaming with Apache Kafka
Real-Life Use Cases & Architectures for Event Streaming with Apache KafkaReal-Life Use Cases & Architectures for Event Streaming with Apache Kafka
Real-Life Use Cases & Architectures for Event Streaming with Apache Kafka
 
Azure SQL Database
Azure SQL DatabaseAzure SQL Database
Azure SQL Database
 
Spline: Data Lineage For Spark Structured Streaming
Spline: Data Lineage For Spark Structured StreamingSpline: Data Lineage For Spark Structured Streaming
Spline: Data Lineage For Spark Structured Streaming
 
Kafka for Real-Time Replication between Edge and Hybrid Cloud
Kafka for Real-Time Replication between Edge and Hybrid CloudKafka for Real-Time Replication between Edge and Hybrid Cloud
Kafka for Real-Time Replication between Edge and Hybrid Cloud
 
Hadoop Interview Questions And Answers Part-2 | Big Data Interview Questions ...
Hadoop Interview Questions And Answers Part-2 | Big Data Interview Questions ...Hadoop Interview Questions And Answers Part-2 | Big Data Interview Questions ...
Hadoop Interview Questions And Answers Part-2 | Big Data Interview Questions ...
 
What’s New in Amazon Aurora for MySQL and PostgreSQL
What’s New in Amazon Aurora for MySQL and PostgreSQLWhat’s New in Amazon Aurora for MySQL and PostgreSQL
What’s New in Amazon Aurora for MySQL and PostgreSQL
 
The Columnar Era: Leveraging Parquet, Arrow and Kudu for High-Performance Ana...
The Columnar Era: Leveraging Parquet, Arrow and Kudu for High-Performance Ana...The Columnar Era: Leveraging Parquet, Arrow and Kudu for High-Performance Ana...
The Columnar Era: Leveraging Parquet, Arrow and Kudu for High-Performance Ana...
 
Optimizing Delta/Parquet Data Lakes for Apache Spark
Optimizing Delta/Parquet Data Lakes for Apache SparkOptimizing Delta/Parquet Data Lakes for Apache Spark
Optimizing Delta/Parquet Data Lakes for Apache Spark
 
Introduction to Apache Kafka
Introduction to Apache KafkaIntroduction to Apache Kafka
Introduction to Apache Kafka
 
Kafka Tutorial - Introduction to Apache Kafka (Part 1)
Kafka Tutorial - Introduction to Apache Kafka (Part 1)Kafka Tutorial - Introduction to Apache Kafka (Part 1)
Kafka Tutorial - Introduction to Apache Kafka (Part 1)
 

Similar to Rule Engine Evaluation for Complex Event Processing

Report From Oracle Open World 2008 AMIS 2 October2008
Report From Oracle Open World 2008 AMIS 2 October2008Report From Oracle Open World 2008 AMIS 2 October2008
Report From Oracle Open World 2008 AMIS 2 October2008Lucas Jellema
 
Azure Functions e Azure Logics Apps: i tuoi coltellini svizzeri per gestire i...
Azure Functions e Azure Logics Apps: i tuoi coltellini svizzeri per gestire i...Azure Functions e Azure Logics Apps: i tuoi coltellini svizzeri per gestire i...
Azure Functions e Azure Logics Apps: i tuoi coltellini svizzeri per gestire i...Marco Parenzan
 
JMP401: Masterclass: XPages Scalability
JMP401: Masterclass: XPages ScalabilityJMP401: Masterclass: XPages Scalability
JMP401: Masterclass: XPages ScalabilityTony McGuckin
 
SharePoint meetup Speaking Deck - Knowing the formula
SharePoint meetup Speaking Deck -  Knowing the formulaSharePoint meetup Speaking Deck -  Knowing the formula
SharePoint meetup Speaking Deck - Knowing the formulaKenneth Cooper
 
Cost effective BigData Processing on Amazon EC2
Cost effective BigData Processing on Amazon EC2Cost effective BigData Processing on Amazon EC2
Cost effective BigData Processing on Amazon EC2Sujee Maniyam
 
Azul yandexjune010
Azul yandexjune010Azul yandexjune010
Azul yandexjune010yaevents
 
IBM Enterprise 2014 - Technical University Abstract Guide
IBM Enterprise 2014 - Technical University Abstract GuideIBM Enterprise 2014 - Technical University Abstract Guide
IBM Enterprise 2014 - Technical University Abstract GuideCasey Lucas
 
Real Time Analytics for Big Data a Twitter Case Study
Real Time Analytics for Big Data a Twitter Case StudyReal Time Analytics for Big Data a Twitter Case Study
Real Time Analytics for Big Data a Twitter Case StudyNati Shalom
 
Innovation dank DevOps (DevOpsCon Berlin 2015)
Innovation dank DevOps (DevOpsCon Berlin 2015)Innovation dank DevOps (DevOpsCon Berlin 2015)
Innovation dank DevOps (DevOpsCon Berlin 2015)Wooga
 
Phoenix for Rubyists
Phoenix for RubyistsPhoenix for Rubyists
Phoenix for RubyistsDoug Goldie
 
DevOps @ Scania - Trust and some code - NFI Testforum 2015
DevOps @ Scania - Trust and some code - NFI Testforum 2015DevOps @ Scania - Trust and some code - NFI Testforum 2015
DevOps @ Scania - Trust and some code - NFI Testforum 2015Anders Lundsgård
 
Building a Highly Scalable File Processing Platform with NServiceBus NSBCon b...
Building a Highly Scalable File Processing Platform with NServiceBus NSBCon b...Building a Highly Scalable File Processing Platform with NServiceBus NSBCon b...
Building a Highly Scalable File Processing Platform with NServiceBus NSBCon b...Particular Software
 
Tendencias Storage
Tendencias StorageTendencias Storage
Tendencias StorageFran Navarro
 
Big Data Real Time Analytics - A Facebook Case Study
Big Data Real Time Analytics - A Facebook Case StudyBig Data Real Time Analytics - A Facebook Case Study
Big Data Real Time Analytics - A Facebook Case StudyNati Shalom
 
DBA Basics guide
DBA Basics guideDBA Basics guide
DBA Basics guideazoznasser1
 
EPM Logs 101 - Hyperion Focus 17
EPM Logs 101 - Hyperion Focus 17EPM Logs 101 - Hyperion Focus 17
EPM Logs 101 - Hyperion Focus 17Datavail
 
Low level java programming
Low level java programmingLow level java programming
Low level java programmingPeter Lawrey
 

Similar to Rule Engine Evaluation for Complex Event Processing (20)

Report From Oracle Open World 2008 AMIS 2 October2008
Report From Oracle Open World 2008 AMIS 2 October2008Report From Oracle Open World 2008 AMIS 2 October2008
Report From Oracle Open World 2008 AMIS 2 October2008
 
Azure Functions e Azure Logics Apps: i tuoi coltellini svizzeri per gestire i...
Azure Functions e Azure Logics Apps: i tuoi coltellini svizzeri per gestire i...Azure Functions e Azure Logics Apps: i tuoi coltellini svizzeri per gestire i...
Azure Functions e Azure Logics Apps: i tuoi coltellini svizzeri per gestire i...
 
JMP401: Masterclass: XPages Scalability
JMP401: Masterclass: XPages ScalabilityJMP401: Masterclass: XPages Scalability
JMP401: Masterclass: XPages Scalability
 
SharePoint meetup Speaking Deck - Knowing the formula
SharePoint meetup Speaking Deck -  Knowing the formulaSharePoint meetup Speaking Deck -  Knowing the formula
SharePoint meetup Speaking Deck - Knowing the formula
 
Cost effective BigData Processing on Amazon EC2
Cost effective BigData Processing on Amazon EC2Cost effective BigData Processing on Amazon EC2
Cost effective BigData Processing on Amazon EC2
 
Ml 3 ways
Ml 3 waysMl 3 ways
Ml 3 ways
 
Unveiling FME 2018
Unveiling FME 2018Unveiling FME 2018
Unveiling FME 2018
 
Azul yandexjune010
Azul yandexjune010Azul yandexjune010
Azul yandexjune010
 
IBM Enterprise 2014 - Technical University Abstract Guide
IBM Enterprise 2014 - Technical University Abstract GuideIBM Enterprise 2014 - Technical University Abstract Guide
IBM Enterprise 2014 - Technical University Abstract Guide
 
Real Time Analytics for Big Data a Twitter Case Study
Real Time Analytics for Big Data a Twitter Case StudyReal Time Analytics for Big Data a Twitter Case Study
Real Time Analytics for Big Data a Twitter Case Study
 
Innovation dank DevOps (DevOpsCon Berlin 2015)
Innovation dank DevOps (DevOpsCon Berlin 2015)Innovation dank DevOps (DevOpsCon Berlin 2015)
Innovation dank DevOps (DevOpsCon Berlin 2015)
 
Phoenix for Rubyists
Phoenix for RubyistsPhoenix for Rubyists
Phoenix for Rubyists
 
DevOps @ Scania - Trust and some code - NFI Testforum 2015
DevOps @ Scania - Trust and some code - NFI Testforum 2015DevOps @ Scania - Trust and some code - NFI Testforum 2015
DevOps @ Scania - Trust and some code - NFI Testforum 2015
 
Building a Highly Scalable File Processing Platform with NServiceBus NSBCon b...
Building a Highly Scalable File Processing Platform with NServiceBus NSBCon b...Building a Highly Scalable File Processing Platform with NServiceBus NSBCon b...
Building a Highly Scalable File Processing Platform with NServiceBus NSBCon b...
 
Tendencias Storage
Tendencias StorageTendencias Storage
Tendencias Storage
 
Big Data Real Time Analytics - A Facebook Case Study
Big Data Real Time Analytics - A Facebook Case StudyBig Data Real Time Analytics - A Facebook Case Study
Big Data Real Time Analytics - A Facebook Case Study
 
DBA Basics guide
DBA Basics guideDBA Basics guide
DBA Basics guide
 
Low-level Graphics APIs
Low-level Graphics APIsLow-level Graphics APIs
Low-level Graphics APIs
 
EPM Logs 101 - Hyperion Focus 17
EPM Logs 101 - Hyperion Focus 17EPM Logs 101 - Hyperion Focus 17
EPM Logs 101 - Hyperion Focus 17
 
Low level java programming
Low level java programmingLow level java programming
Low level java programming
 

Recently uploaded

EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
buds n tech IT solutions
buds n  tech IT                solutionsbuds n  tech IT                solutions
buds n tech IT solutionsmonugehlot87
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningVitsRangannavar
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsMehedi Hasan Shohan
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 

Recently uploaded (20)

EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
buds n tech IT solutions
buds n  tech IT                solutionsbuds n  tech IT                solutions
buds n tech IT solutions
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software Solutions
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 

Rule Engine Evaluation for Complex Event Processing

  • 1.
  • 2. EVALUATION CRITERIA Embeddable API vs SOA Event Oriented vs Workflow / Production Oriented Rule Definition (XML, POJO, flat file) Rule Management Open Source vs Commercial Event format Scalability High Availability
  • 3. CEP PRODUCTS Drools Esper Sybase ESP Oracle Event Processing IBM WebSphere Business Events TIBCO BusinessEvents & Streambase Jess Sqlstream
  • 4. DROOLS Drools does not have a High Availability solution. Drools 6.0.1.Final version drops several actions to the events (As per the user forum this issue has been fixed in 6.1.0.Beta2). The events are not garbage collected, after running for some time, it throws out of memory exception while processing 4 million events (Refer the picture below, the memory usage never reduced). Processes 1 million small events in 4 seconds with 2000MB memory.
  • 5. ESPER Esper software is the CEP engine in Oracle Complex Event Processing product. Esper has High Availability solution (Hot-Standby). Esper has very good memory management, cleans up the events and was able to process 10 million events. (Refer the memory usage graph below) Processes 1million small events in 4 seconds with just 300MB memory.
  • 6. SYBASE ESP Supports High Availability configuration Always runs as a server, not embeddable in the application. Must provide input adapters to feed the data into the engine. Must provide output adapters to get the data from engine and perform actions. Custom adapters can be built in C, Java and .Net Queries are written in CCL (Continuous Computation Language), which is based on SQL. Uses data-flow programming for processing event streams
  • 7. COMPARISON Rule Engine / Feature Drools Esper Sybase ESP Capable of processing events (Complex Event Processing)? Yes Yes Yes Workflow (production/inference) rule engine? Yes No No Embeddable in a Java application? Yes Yes No Run the engine as a service? Yes Yes, only with enterprise edition. Yes Supports sliding window of interesting events Yes Yes Yes
  • 8. COMPARISON CONTINUED… Rule Engine / Feature Drools Esper Sybase ESP Rule Definition Text files, GUI editor is available EPL, it is SQL like language, GUI editor is available, with enterprise edition. The schema is created with CCL, it is SQL like language Rule Management components available? Yes Yes, only with enterprise edition. No Rule versioning available? Yes, with an additional component Guvnor. No No
  • 9. COMPARISON CONTINUED… Rule Engine / Feature Drools Esper Sybase ESP Production and development support available? Yes Yes Yes Action execution sequencing support Available with rule flow group. Available with @Priority annotation to the statement. The custom output Adapter has to manage this. High Availability No Yes Yes Hot deployment of rules Yes Yes, only with enterprise edition. No Open source software? Yes Yes No
  • 10. COMPARISON CONTINUED… Rule Engine / Feature Drools Esper Sybase ESP Scalability Not so much scalable. Throws out of memory error while processing 4 million events. Yes, highly scalable. It was able to process 10 million events in 1 minute. Yes, capable of processing hundreds of thousands of events per second. Event Format Java object Java object, Map, XML Events are inserted with the input adapter. Sybase provides several adapters. Ex: csv inpt adapter, csv output adapter.
  • 11. CUSTOMERS Esper  PayPal  Accenture  InMobi  Rackspace  Huawei  Oracle Drools  Information not available Sybase ESP  Information not available
  • 12.
  • 13. SCALING ESPER Partitioned Stream  An Esper Enterprise Edition server acts as a dispatcher of input stream events  Each server executes identical EPL statements on a subset of input stream events  Partitioned based on hashing or key ranges
  • 14. SCALING ESPER Partition by Use Case  Each server instance receives all the events.  Each server executes a sub set of EPL statements.
  • 15. SCALING ESPER Pipeline model  Each server in the pipeline performs a sub task.
  • 16. SCALING ESPER WITH STORM Strom Bolt lacks event aggregation capability Storm Bolt can perform simple event processing tasks Storm Bolt can leverage Esper to perform complex event processing tasks. This configuration of Storm and Esper, can scale up to handle very large number of events (close to million events per second with 10 server cluster).

Editor's Notes

  1. http://drools.46999.n3.nabble.com/Drools-Fusion-Dropping-Actions-to-Events-td4029314.html
  2. http://docs.oracle.com/cd/E28280_01/apirefs.1111/e14304/overview.htm#i1014841
  3. Scaling across JVMs is not a design goal of the core Esper CEP engine itself however it is a design goal of EsperHA and Enterprise Edition. Please contact us to discuss scaling across JVM. Drools Fusion component is used for the complex event processing. Drools Expert component is the workflow (production/inference) rule engine.
  4. Order of action execution https://access.redhat.com/site/documentation/en-US/JBoss_Enterprise_SOA_Platform/4.2/html/JBoss_Rules_Manual/sect-JBoss_Rules_Reference_Manual-Rule_Flow.html http://esper.codehaus.org/esper-4.2.0/doc/reference/en/html/epl_clauses.html http://www.oracle.com/technetwork/articles/javase/javarule-139829.html http://java.sys-con.com/node/45082