How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

62
Lucas Jellema Oracle OpenWorld 2014, San Francisco, CA, USA How Fast Data Is Turned into Fast Information and Timely Action

description

Fast data is big data, continuously streaming in, from which information is to be learned in (near) real time. This session demonstrates how Oracle Event Processing is used to analyze live streams of data to find patterns, deviations, and aggregates. The findings are reported in the form of business events that are pushed in live dashboards to Oracle Business Activity Monitoring, which also evaluates business rules on the business events and takes action when required. Examples to be demonstrated in this session include car sensors, website traffic, Twitter feeds, and bank run detection. Oracle SOA Suite 12c, WebSockets, Oracle Application Development Framework (Oracle ADF) active data visualization tools components, and JMS are used to process, forward, and act.

Transcript of How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

Page 1: How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

Lucas Jellema

Oracle OpenWorld 2014, San Francisco, CA, USA

How Fast Data Is Turned into Fast Information and Timely Action

Page 2: How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

2

Audience Challenge

Page 3: How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

3

Audience Challenge

Page 4: How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

4

Audience Challenge

Page 5: How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

5

Audience Challenge

Page 6: How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

6

Audience Challenge

Page 7: How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

7

Audience Challenge

Page 8: How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

8

Filter

Pattern Detection

Agregate

Page 9: How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

9

Fast Data Example

14,016,114,116,116,013,114,016,013,113,014,116,014,113,014,116,013,114,0

Smart Processing• Information• Conclusion• Alert• Recommendation• Action

Page 10: How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

10

Demonstration: Live Tennis

• Tennis Tournament• Many matches played in parallel• The data that is produced:

– At a rate of up to 10 events/minute

Match Id, Player [who scored]14,016,114,116,116,013,114,0

Page 11: How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

11

Demonstration: Live Tennis

• The information, conclusions &actions we are looking for:– Scoreboard per game, set, match– Match start and completion (action:

inform next players for that court)– Interrupted match (action: go and check

out the reason for the interruption)

Fast Data

Smart Processing

• Scoreboard• Match start and

completion • Interrupted match

Page 12: How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

12

Real Time – from event to UIPush through Web Sockets

Fast Data

Smart Processing

Oracle Event Processor

WebLogic

eventWebSocket

Servermsg

msg

CQL queries

Page 13: How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

13

WebSocket Powered Scoreboard

Page 14: How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

14

OEP application to process fast tennis data

• Preparation– Define event definitions– Create local, in memory cache with static, enriching data– Gather (in this case generate) tennis data through adapter– Create Event Sink to consume all findings and publish to console

TennisMatchEvent

matchIdplayer

Page 15: How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

15

Match Level events

Page 16: How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

16

Rally’s to games

- The first player to have won more than 4 points

- and have won two or more points more than his opponent

TennisMatchEvent

matchIdplayer

Page 17: How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

17

Detect interrupted matches by ‘finding’ missing events

• When a match is interrupted, obviously no more ‘rally point events’ are produced

• Detecting the absence of these events for a match [that has begun] is equivalent to detecting an interruption of the match– Unless the match is complete because someone won

Page 18: How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

18

Detect interrupted matches by ‘finding’ missing events

Page 19: How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

19

Complete EPN diagram for Tennis Tournament Processor

• A single OEP application that consumes fine grained rally point events and performs three-stage aggregation and enrichment

TennisMatchEvent

matchIdplayer

New Match

Match Finish

InterruptedMatch

Set WonGame

Won

Page 20: How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

Overview

• What is [special about] Fast Data?– Continuous, Volume|Velocity|Variety, Real Time

• Challenges– Volatile, non persistent– Data => Information, Conclusion, Alert, Recommendation, Action

• Strategies– Smart gathering– Discard – filter, aggregate, pattern

(and also look for missing events!)– Promote (process, enrich)– Visualize

• Technology/Tools• Demonstration/Cases

Page 21: How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

21

Fast Data

• Tweet• Feed• Beat• Signal• Measurement• Message• Mail• Notification• Tick• Pulse

Page 22: How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

22

New theme (that brings it all together)

Page 23: How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

23

Some event producing devices

Page 24: How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

24

Page 25: How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

Most of these events….

Page 26: How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

26

Page 27: How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

27

Fast Data Processing

Fast Data

Smart Processing

• Information• Conclusion• Alert• Recommendation• Action

Page 28: How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

28

Fast Data ProcessingMulti-stage cleansing & aggregation

Fast Data

Smart Processing

• Information• Conclusion• Alert• Recommendation• Action

Page 29: How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

29

Typical Flow and Additional Challenge…

Business event

Bu

sin

ess

Val

ue

Data captured

Analysis completedAction taken

Fragmented event entities

TIME

Page 30: How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

30

The V-factor

VolumeVelocityVariety

VALUE

Page 31: How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

31

Key strategy

• Discard – as early as possible (close to the source)– Ignore irrelevant events– Filter out unneeded attributes– Takes samples instead of entire stream– Aggregate: merge multiple, correlated events into one

Page 32: How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

32

Fast Data Processing:Oracle Event Processor

Fast Data

Smart Processing

Oracle Event Processor

RMIFile

RESTHTTP Channel

JMSDatabase

Custom (Java)SOA Suite EDN

CoherenceJMX

QuickFix (financial)

RMIFileRESTHTTP ChannelJMSBusiness RuleDatabaseCustom (Java)SOA Suite EDNCoherenceJMX

Page 33: How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

33

Oracle Event Processor

• Light weight, real-time (sub-sub-second), in-memory, continuous query engine– Available in embedded form – with corresponding licence

• Interacts with many different channels – inbound and outbound• Has internal caches to enrich events and temporarily retain events• Uses CQL to:

– Filter, aggregate, enrich and detect patterns (including missing events)

events

Event Processor

Page 34: How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

35

Fast Data ProcessingFusion Middleware Tooling

Fast Data

Smart Processing

Oracle Event Processor

Coherence

SOA Suite 12c EDN

RMIFile

RESTHTTP Channel

JMSDatabase

JMXCustom (Java)

RMIFileRESTHTTP ChannelJMSBusiness RuleJMXDatabaseCustom (Java)

Page 35: How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

36

Fast Data ProcessingFusion Middleware Tooling

Fast DataSmart Processing

• Information• Conclusion• Alert• Recommendation• Action

OEP

BAM

ADFCoherence SOA Suite

EDNBPMSuite

BPELTask

BIRTD

ODIGolden Gate

NoSQL

Page 36: How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

37

Business User Friendly Exploration of Fast Data: Stream Explorer

Page 37: How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

38

Credit Card Theft Detection

• Several situations in the past– Credit card is stolen in the main terminal building– Several purchases are made in shops on the way from that area to the main exit

• Purchases between $200-$500 dollar• Purchases made within 5 minutes of each other• Sometimes the purchases are made in not entirely the direct route to the exit

EXIT

Main Terminal

Page 38: How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

39

Credit Card Theft Detection

• Several situations in the past– Credit card is stolen in the main terminal building– Several purchases are made in shops on the way from that area to the main exit

• Purchases between $200-$500 dollar• Purchases made within 5 minutes of each other• Sometimes the purchases are made in not entirely the direct route to the exit

• To catch the perpetrator– Consume the credit card purchase event stream for airport shops– Spot situations where three or more purchases of $200-$500 are made within 5

minutes from each other and roughly in the terminal => exit physical order– Publish an event to alert security staff

• To watch for any further purchases with that credit card• To inform show staff for that credit card• To send staff to the exit to try and apprehend the thief

(perhaps based on the shopping bags he is carrying from the shops he bought stuff at)

Page 39: How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

40

Catch me if you can

EXIT

Main Terminal

Page 40: How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

41

Catch me if you can

EXIT

Main Terminal

$440$300

$380

$250

Page 41: How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

42

CQL to detect ‘funny string of transactions’

Page 42: How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

43

Real Time – from Event to TaskOEP => SOA Suite 12c EDN

Fast Data

Smart Processing

Oracle Event Processor

SOA Suite 12c

EDNevent event

Page 43: How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

44

Real Time – from Event to TaskOEP => SOA Suite 12c EDN

Fast Data

Smart Processing

Oracle Event Processor

SOA Suite 12c

EDN

BPEL Task

BPMN

Medi-ator

event event

event

Page 44: How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

45

From OEP finding to EDN Business Event triggering the SOA Suite

Page 45: How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

46

Human consumers

• Slow at data processing• Not electronically connected• Visually oriented (1 picture > 1000 words)• Frequently (though perhaps decreasingly so) the actor or decision maker

• Interact along human communication channels• Use visualization to present findings, conclusions, recommended actions

– And as a second tier of fast data processing:Highlight (filter), aggregate, patterns, extrapolate/interpolate, missing elements

• Sometimes take over from humans and just take action

Page 46: How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

47

Visualize and Aggregate

Page 47: How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

48

Real Time – from event to UIBusiness Activity Monitoring

Fast Data

Smart Processing

Oracle Event Processor

WebLogic

JMS

event

msgBAMmsg

Page 48: How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

49

Real Time – from event to UIADF DVT Visualizations

Fast Data

Smart Processing

Oracle Event Processor

WebLogic

JMS

event

msg

ADF DVT

msg

Page 49: How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

50

Visualize physical locations of [string of] suspicious transactions

Page 50: How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

51

Summary

• Fast Data (events): Vast, Continuous, Velocity, Variety– Wanted: Near real time conclusions, recommendations, alerts, actions

• Strategy:– Discard – as early as possible (Filter, Aggregate)– Enrich, Correlate and Pattern Match, Missing Events, Retain, Publish higher level,

more coarse grained business event– Repeat this cycle multiple times (such as rally point, game, set, match)

• Technology for Fast Data processing: Oracle Event Processor & CQL– Interacts with JMS, EDN, RMI, HTTP (/REST), JMX, Database, Coherence

• New: Stream Explorer – business friendly, industry pattern based fast data explorations and visualization

• To assist humans in Fast Data and Information Processing: Visualization– Filter, Aggregate, Enrich, Pattern Match (1 picture > 1000 words)– Technology: BAM (Dashboard and Rule processing), ADF Data Visualization– Also: turn findings into actions using Human Task, BPEL and BPM via the SOA Suite

12c Event Delivery Network (EDN)

Page 51: How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)
Page 52: How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

53

Fast Data Example

14,016,114,116,116,013,114,016,013,113,014,116,014,113,014,116,013,114,0

Smart Processing

Oracle Event Processor

Page 53: How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

54

Demonstration: Live Tennis

• Tennis Tournament• Many matches played in parallel• The data that is produced:

– At a rate of up to 10 events/minute

Match Id, Player [who scored]14,016,114,116,116,013,114,0

Page 54: How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

55

Demonstration: Live Tennis

• The information, conclusions &actions we are looking for:– Scoreboard per game, set, match– Match start and completion (action:

inform next players for that court)– Interrupted match (action: go and check

out the reason for the interruption)

Fast Data

Smart Processing

• Scoreboard• Match start and

completion • Interrupted match

Page 55: How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

56

OEP application to process fast tennis data

• Preparation– Define event definitions– Create local, in memory cache with static, enriching data– Gather (in this case generate) tennis data through adapter– Create Event Sink to consume all findings and publish to console

TennisMatchEvent

matchIdplayer

Page 56: How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

57

Simple Time-slice Aggregation

• Produce aggegrates once every 30 seconds– Count number of matches going on currently (meaning: in the last 30 seconds)– Calculate average time per rally (over the last 30 seconds)– Count total number of points played (over the last 30 seconds)

Page 57: How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

60

Match Level events

Page 58: How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

61

Rally’s to games

- The first player to have won more than 4 points

- and have won two or more points more than his opponent

TennisMatchEvent

matchIdplayer

Page 59: How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

62

Games to Sets

- The first player to have won more than 5 games

- and have won two or more games more than his opponent

Page 60: How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

63

Detect interrupted matches by ‘finding’ missing events

• When a match is interrupted, obviously no more ‘rally point events’ are produced

• Detecting the absence of these events for a match [that has begun] is equivalent to detecting an interruption of the match– Unless the match is complete because someone won

Page 61: How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

64

Detect interrupted matches by ‘finding’ missing events

Page 62: How Fast Data Is Turned into Fast Information and Timely Action (OOW 2014)

65

Complete EPN diagram for Tennis Tournament Processor

• A single OEP application that consumes fine grained rally point events and performs three-stage aggregation and enrichment

TennisMatchEvent

matchIdplayer

New Match

Match Finish

InterruptedMatch

Set WonGame

Won