rule engine evaluation for complex event processing

17
RULE ENGINE EVALUATION FOR COMPLEX EVENT PROCESSING DRO OLS, ESPER A ND S Y BASE ESP

Upload: chandra-divi

Post on 15-Apr-2017

1.264 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Rule Engine Evaluation for Complex Event Processing

RULE ENGINE EVA

LUATION FO

R

COMPLEX EVEN

T PROCESSING

D R O O L S , ES P E R A

N D SY B A S E E

S P

Page 2: Rule Engine Evaluation for Complex Event Processing

EVALUATION CRITERIA

Embeddable API vs SOAEvent Oriented vs Workflow / Production OrientedRule Definition (XML, POJO, flat file)Rule Management Open Source vs CommercialEvent formatScalabilityHigh Availability

Page 3: Rule Engine Evaluation for Complex Event Processing

CEP PRODUCTSDroolsEsperSybase ESP Oracle Event ProcessingIBM WebSphere Business EventsTIBCO BusinessEvents & StreambaseJessSqlstream

Page 4: Rule Engine Evaluation for Complex Event Processing

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.

Page 5: Rule Engine Evaluation for Complex Event Processing

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.

Page 6: Rule Engine Evaluation for Complex Event Processing

SYBASE ESPSupports High Availability configurationAlways 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 .NetQueries are written in CCL (Continuous Computation

Language), which is based on SQL.Uses data-flow programming for processing event streams

Page 7: Rule Engine Evaluation for Complex Event Processing

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

Page 8: Rule Engine Evaluation for Complex Event Processing

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 withCCL, 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

Page 9: Rule Engine Evaluation for Complex Event Processing

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 YesHot deployment of rules

Yes Yes, only with enterprise edition.

No

Open source software?

Yes Yes No

Page 10: Rule Engine Evaluation for Complex Event Processing

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.

Page 11: Rule Engine Evaluation for Complex Event Processing

CUSTOMERSEsper PayPal Accenture InMobi Rackspace Huawei OracleDrools Information not availableSybase ESP Information not available

Page 12: Rule Engine Evaluation for Complex Event Processing
Page 13: Rule Engine Evaluation for Complex Event Processing

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

Page 14: Rule Engine Evaluation for Complex Event Processing

SCALING ESPER

Partition by Use Case Each server instance receives all the events. Each server executes a sub set of EPL statements.

Page 15: Rule Engine Evaluation for Complex Event Processing

SCALING ESPER

Pipeline model Each server in the pipeline performs a sub task.

Page 16: Rule Engine Evaluation for Complex Event Processing

SCALING ESPER WITH STORM

Strom Bolt lacks event aggregation capabilityStorm Bolt can perform simple event processing tasksStorm 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).