22
<Insert Picture Here> Complex Event Processing with Oracle Faris Al-Badri, Oracle Switzerland [email protected]

Complex Event Processing with Oracle Faris Al-Badri, Oracle

Embed Size (px)

Citation preview

Page 1: Complex Event Processing with Oracle Faris Al-Badri, Oracle

<Insert Picture Here>

Complex Event Processing with Oracle

Faris Al-Badri, Oracle Switzerland

[email protected]

Page 2: Complex Event Processing with Oracle Faris Al-Badri, Oracle

Agenda

• Oracle Event Processing Overview

• Continuous Query Language Concepts

• Tooling and Visualization

• Fast Data and Big Data

• References and Resources

Page 3: Complex Event Processing with Oracle Faris Al-Badri, Oracle

3 Copyright © 2014, Oracle and/or its affiliates. All rights reserved.

Oracle Event Processing

Overview

Page 4: Complex Event Processing with Oracle Faris Al-Badri, Oracle

4 Copyright © 2014, Oracle and/or its affiliates. All rights reserved.

Processors

• Set of queries applied

to the streams

Listeners

• Handle triggers raised

by the processors

Events

• Implemented as

JavaBean or Map

Enriched Streams

• From any source:

data streams, web

services, Java,

Database

Adapters

• Translate external

events/data into

java objects for

processing

Streaming Event-Driven Architecture (EDA)

Data/Msg.

Feeds Listener/SINK:

User Code

(Plain Java)

Data Feed

Adapters

Process

Events

(CEP)

Incoming Data Streams

Aggregate, correlate, filter data

Resulting Data

Latency

EDA Java Application Container

Oracle Event Processing

Page 5: Complex Event Processing with Oracle Faris Al-Badri, Oracle

5 Copyright © 2014, Oracle and/or its affiliates. All rights reserved.

Advanced Tooling

Late

ncy A

naly

ze

r

Extended Event Infrastructure

Core Event Infrastructure

Oracle Event Stream

Processor Real Time

Kernel

Oracle Event Processing

Foundation Services

Logging

Event Infrastructure

Complex

Event Stream

Management Real Time

Kernel

App Frameworks

POJO Spring Services

Core Event Infrastructure

Complex

Event

Processor Stream

Management Real Time

Kernel

Cluster

Management Data

Caching HTTP

Pub/Sub

Engine Event Repository

Admin Coherence

App Frameworks

Services JDBC

POJO Spring

Hotspot / JRockit RealTime JVM

OEP Product Architecture

Designed for High Throughput

Hundreds of thousands of events/second

Eclipse-based Tooling

Plugins for EDA Application Development

Easy-to-Use Development Environment

OSGi, Spring Framework, POJO

Event Processing Infrastructure

CEP Engine

Event Processing programming constructs and

services

Continuous Query Language

Lightweight Java Application Server (Jetty)

Full environment for building and running Java

applications

Services -- Security, Logging, User Mgmt

Page 6: Complex Event Processing with Oracle Faris Al-Badri, Oracle

6 Copyright © 2014, Oracle and/or its affiliates. All rights reserved.

OEP Application

Adapter

interfaces directly to the event stream source and sink, understands inbound/outbound protocol, converts

event data into normalized form

Channel

event processing connection point, can queue data, multi-threadable

Processor

consumes normalized data from channel, executes CQL queries, may generate new events to output

channel

Event Bean / User Code

Java classes that register to listen to output channel, EventBean uses API to be managed by OEP container

Page 7: Complex Event Processing with Oracle Faris Al-Badri, Oracle

7 Copyright © 2014, Oracle and/or its affiliates. All rights reserved.

Continuous Query Language

Concepts

Page 8: Complex Event Processing with Oracle Faris Al-Badri, Oracle

8 Copyright © 2014, Oracle and/or its affiliates. All rights reserved.

Continuous Query Language (CQL)

• Extends the relational model to support “continuous” queries

– Formal model for describing Time, Streams, and Relations

– Adds extensions to SQL-99

• Enables construction of “windows” over event streams

– Bounded by time or count

– Partitioned based on values

– Processed incrementally or in batches

• Defines a “working set” of events to apply queries to

– Filtering, aggregation, and correlation of events

• Adds pattern matching

– Supports track-and-trace scenarios (e.g. detecting missing events)

– accepted as ANSI SQL standard in 2012, implemented in Oracle Database 12c

Page 9: Complex Event Processing with Oracle Faris Al-Badri, Oracle

9 Copyright © 2014, Oracle and/or its affiliates. All rights reserved.

Constant time interval

Time-based event windows

t1 t3 t2 t4 t6 t5 t7 Time

E1 E2 E3 E4

• Constant time interval

• Number of events in Relation will vary

• Events will expire from Relation over time

CQL: SELECT * FROM MyEvent [RANGE 3 SECONDS]

Stream to Relation Operator

Page 10: Complex Event Processing with Oracle Faris Al-Badri, Oracle

10 Copyright © 2014, Oracle and/or its affiliates. All rights reserved.

Constant # of events

Row-based event windows

t1 t3 t2 t4 t6 t5 t7 Time

E1 E2 E3 E4

• Constant number of events in Relation

• Events will not expire from Relation until replaced

CQL: SELECT * FROM MyEvent [ROWS 2]

Stream to Relation Operator

Page 11: Complex Event Processing with Oracle Faris Al-Badri, Oracle

11 Copyright © 2014, Oracle and/or its affiliates. All rights reserved.

Pattern Recognition with MATCH_RECOGNIZE Example: Missing Event Detection

The MEASURES clause gives a name to the value in the events

timestamp so it can be used in the select statement.

The PATTERN clause defines that you are looking for an ‘A’ event

followed by the ‘B’ event which are defined in the DEFINE clause.

The DURATION clause defines how long in between events can

occur.

Page 12: Complex Event Processing with Oracle Faris Al-Badri, Oracle

12 Copyright © 2014, Oracle and/or its affiliates. All rights reserved.

Extending CQL with Data Cartridges

Allows to integrate other data types and functions to use within CQL:

Oracle Java Data Cartridge

Use Java types, methods, fields, and constructors in CQL queries

Oracle Spatial

An option for Oracle Database providing advanced spatial features to support high-end

geographic information systems and location-enabled business intelligence solutions

Oracle JDBC Data Cartridge

Execute SQL queries against databases and use returned results in CQL queries

Oracle NoSQL Database Data Cartridge / Oracle Hadoop Data Cartridge

Integrate an existing NoSQL or Hadoop data source into an event processing network

Page 13: Complex Event Processing with Oracle Faris Al-Badri, Oracle

13 Copyright © 2014, Oracle and/or its affiliates. All rights reserved.

Tooling

and Visualization

Page 14: Complex Event Processing with Oracle Faris Al-Badri, Oracle

14 Copyright © 2014, Oracle and/or its affiliates. All rights reserved.

Eclipse OEP App Development

Page 15: Complex Event Processing with Oracle Faris Al-Badri, Oracle

15 Copyright © 2014, Oracle and/or its affiliates. All rights reserved.

Monitoring and Managing OEP Applications

Page 16: Complex Event Processing with Oracle Faris Al-Badri, Oracle

16 Copyright © 2014, Oracle and/or its affiliates. All rights reserved.

Monitor business processes & services in real-time

Key Performance Indicators (KPIs)

Service-Level Agreements (SLAs)

Analyze events as they occur

Correlate events & KPIs

Identify trends as they emerge

Alert users to bottlenecks & solutions

Act on current conditions

Event-driven alerts

Real-time dashboards

BPEL processes & web services integration

Visualizing Events: Oracle Business Activity Monitoring

Page 17: Complex Event Processing with Oracle Faris Al-Badri, Oracle

17 Copyright © 2014, Oracle and/or its affiliates. All rights reserved.

Fast Data

and Big Data

Page 18: Complex Event Processing with Oracle Faris Al-Badri, Oracle

18 Copyright © 2014, Oracle and/or its affiliates. All rights reserved.

Fast Data & Big Data

Adding real-time value/capabilities with OEP, BAM* & RTD**

His

tori

cal

OEP

Rea

l-ti

me

OEP BAM

1 2

1. Filter out & persist useless,

redundant data, correlate

find and focus on events

that matter

2. Analyze, predict and act;

execute critical decisions in

real-time, complementing

historical approaches

1

2

RTD

*BAM: Oracle Business Activity Monitoring **RTD: Oracle Real-Time Decisions

Page 19: Complex Event Processing with Oracle Faris Al-Badri, Oracle

19 Copyright © 2014, Oracle and/or its affiliates. All rights reserved.

References

and Resources

Page 20: Complex Event Processing with Oracle Faris Al-Badri, Oracle

20 Copyright © 2014, Oracle and/or its affiliates. All rights reserved.

Customer Adoption of Oracle’s Fast Data

Page 21: Complex Event Processing with Oracle Faris Al-Badri, Oracle

Where to Get More Information?

www.oracle.com/fastdata

Page 22: Complex Event Processing with Oracle Faris Al-Badri, Oracle