rule engine evaluation for complex event processing

Post on 15-Apr-2017

1.264 Views

Category:

Software

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

EVALUATION CRITERIA

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

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

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

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

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

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.

CUSTOMERSEsper PayPal Accenture InMobi Rackspace Huawei OracleDrools Information not availableSybase 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 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).

top related