SlideShare une entreprise Scribd logo
1  sur  19
Complex Event Processing
                                                     Quoi, Pourquoi, Comment?
                                                                 Fabien Coppens
                                                               Alexandre Vasseur



©OCTO Technology – Université d’été du Système d’information
Objectives

•   Understand what Complex Event Processing (CEP) is
•   Where does CEP fit in SOA/EDA/BAM/BI/RDBMS
•   Learn about CEP use cases
•   Discover CEP adoption paths
Speaker Qualifications

• Fabien Coppens
• Senior Architect
• CEP user




• Alexandre Vasseur
• Middleware technology evangelist
• Esper co-lead & early CEP fan
The « Right-Time » Enterprise
                                           Situation
• Business is data-driven
   – More data, more sources                       Events
   – More complex situational scenarios
• Right-time is                                        Time
   – A business imperative
   – A technology challenge                        Push
      •   Strong coupling!                    Loosely coupled
      •   Request/Response!
                                                  Time &
      •   Data stored and later analyzed
                                                Event-Driven
      •   Moving requirements

                                           Action/Decision
SOA + EDA + XTP + Edge + BAM/BI
                        Convergence: Event Processing
« By 2011, a new generation of application platforms stemming from
   the convergence of extreme transaction processing (XTP)
   technologies will supersede Java EE and .NET as the platform of
   choice for large-scale, business-critical operational applications.“
   Gartner, July 2007




                        Large scale SOAs
                RFID BAM & monitoring
 Financial Services Sensors
   Fraud detection    Location/presence based services
             Security


                         Right-Time + Events
Event Processing
    Simple, Streaming, Complex / Business EP
•   Simple                                  •   Consumer/Producer, JMS, ESBs, EIP
     – Route, Filter, Enrich                    – Stateless & Timeless


•   Streaming                               •   How?
     – min,max,avg                              – « Event Stream Processing »
     – Sliding data windows                     – Statefu-less / Timefu-less


•   Complex / Business                      •   How??
     – Many streams                             – Continuous joins and indexing
     – Causality                                – Time as first class citizen
       A followed by B                               • Temporal requests
         within t minutes
                                                – Statefull / Timefull
     – Different rates
     – Historical data and real time data



                When [CEP] then […]
CEP’s Friends
• Edge
   – Produce zillions of events
• SOA
   – Interconnect, mediate, leverage and reuse
• XTP
   – Scale throughput and data volumes as required
   – Right-time down to sub-millisecond where needed

                                                 • Rules engine
          When [CEP] then […]                       If … then […]
CEP
          Situational & Actionable Awareness


• BAM & BI (or back to SOA)
   – Operational applications
CEP ~ Database 2.0 ?
• RDBMS                       • CEP
   – Store data (a lot)          – Store rules
   – Handle queries              – Handle data
   – SQL (ie abstracted)         – EPL: Event Processing Language
• Request/Response            • Subscribe/Notify
• Concept of Time             • Time & causality
• Right time                  • « Continuous query »



                                            CEP Server
        Database
                                            EPL Queries

       SQL Queries



                                               CEP
Event Processing Language & CEP Server

                         •   EPL: For right-time events, what SQL is to historical data
                              – Best practices, rapid prototyping, tooling, less custom code
                         •   CEP server: Middleware to deal with recurrent complexity
                              – indexing, state management, scalability, management, connectivity etc
                                 Transports                                      Is EPL expressive enough
                                                   Dashboards                    (build vs buy)
                                   In & Out
                                                                                                Is EPL a standard
                                             CEP Application
                                                                                                (vs SQL)

                                    Source + CEP as EPL + Sink                                  Is it a specialized RDBMS or a
                                                                                                true engine? Does it require a


                                                                           Runtime Management
                                                                           Runtime Management
Record / Replay / Test
Record / Replay / Test




                                                              Time &                            RDBMS?
                                  Filter, Aggregate
                                                             Causality
                                                                                                Manageable?
                                               Sliding windows                                  Scalable
                                             Continuous execution
                                                                                                Interoperate?
                                       State management, threading



                                 Interrop.             High Availability
#1: Algorithmic trading

• Volume Weighted Average
select ticker, avg(price), count(*), sum(price)
from MarketData(ticker=‘GOOG').win:length(1000)

                 Simple Event Processing
                                           Stream Processing (Timefull)




• Example CEP server performance figures
   –   1 CEP server, Java based, TCP in/out
   –   1000 CEP statements
   –   500 000 evt/s [100 Mbit/s]
   –   Latency: avg 2.5µs, 99% < 10µs
   –   4 core 2GHz, 65% load avg
#1: Build vs Buy?
                                                     Avg price / last 2 ticks, per ticker
        MarketData(GOOG, 50) list = new MyList(GOOG,2)
                             /*2 = size*/
                             // on event
      MarketData(MSFT, 25)
                             list.add(tick)
                             // some tick discarded
                             // as list size was
        MarketData(GOOG, 30) // harcoded with size 2
                             //TODO: do not hardcode
                                                                              GOOG:40
                             // recompute avg
        MarketData(GOOG, 40) //TODO: optimize this
                             send computeAvg(list)
                                                                              GOOG:35



Receive market data
                       • Functional specification?
                       • Abstraction for user defined rules?      Output / trigger actions
                       • Performance & monitoring etc?
#2: Fraud and compliance, risk management

Context
   – FX trading
   – Event { Trade direction, amount, user id, account, currencies traded }
   – 200 000 evt/day, 50 rules, ~5% of triggering

Two (or more) buy trades followed by ( ) a sale within the next hour
  between 2 parties

  select e1, e2, final from pattern [
  every e1=FXTrade(userId in (100,101))
     (e2=FXTrade(userId in (100,101), dir = e1.dir)
      where timer:within(8 hours)
  )    final=FXTrade(userId in (100,101), dir != e1.dir)
  where timer:within(1 hour)   ]
#3: Location based services
Context:
• Mobile asset management (Command & Control systems)
• Tracking delay between real time position and planned position
     – 20% time left to reach destination, 10% delta from planned position
•   Continuous join with reference (passive) data



select id, lat, lon, time-ref.time,
Utils.distance(lat,lon,ref.lat,ref.lon)
 as distance
from GPSPosition,
sql:RefDB [
   select lat, lon, time from Plan
   where id={id} and stage=‘JFK’
] as ref
where time<0.8*ref.time and
Utils.distance(lat,lon,ref.lat,ref.lon)>1.1*SPEED*(0.8*ref.time-time)
#4: Trading as SaaS : Strateer

•   Algo trading as SaaS
•   CEP is a core enabler
•   Users can configure their own trading strategies
•   ~20 CEP rules templates provided
    – Each configurable by end users
• Power users can create their own rules

• Esper CEP + JMS + MarketData connectors + RIA
#4: Strateer use case




                         1.

                     Drag & Drop          2.
                       your own
                      automated     Test it the way
                       strategy    fund managers
          3.
                                           do
                                                                           5.

      Then run it                                          4.          Share and
     on Strateer:                                                       compare
                                                      Get trading
    1000s of data                                                     results with
                                                      alerts to you
    sources, real-                                                    community
                                                        anytime,
     time engine.
                                                       anywhere.




Strateer is algorithmic trading for individual
                   investors
#4: Strateer architecture
Solutions (excerpt)




Single use case platform (trading,       Event Processing = Middleware
compliance, BI ..)
xxx Event Processing                     x = Simple / Stream / Complex / Rules




                                     ?
Mandates a DB?                           In-memory vs hidden DB vs DB
Latency / Throughput                     1 to 1000 if not more range
Of the shelf?                            Interoperate? Open platform?
Proven / Innovating                      …
Maturity                                 …
Cost (Buy + Learn + Operate)             …
Adoption: Risks & Benefits
         “CEP is mature? CEP is really not ESP? CEP is
         really event-driven SOA? CEP is really real-time
         BI? CEP is really low latency, high throughput,
         white-box COTs algo trading? CEP is really not a
         type of BPM? CEP is not really for detecting
         complex events? Complex does not really mean
         complex?” [as seen on blogs]




                              Use case driven




?
                              Build vs Buy
                              SOA/BI/BAM related
                              Orthogonal processing
                              (discover & monitor)
                                 vs
                              path critical processing
                              (act upon)
Links

• http://esper.codehaus.org
• http://www.espertech.com
• http://complexevents.com

• And many other googling around or asking your favorite
  vendors (!)

Contenu connexe

Tendances

Cloud architecture and deployment: The Kognitio checklist, Nigel Sanctuary, K...
Cloud architecture and deployment: The Kognitio checklist, Nigel Sanctuary, K...Cloud architecture and deployment: The Kognitio checklist, Nigel Sanctuary, K...
Cloud architecture and deployment: The Kognitio checklist, Nigel Sanctuary, K...CloudOps Summit
 
Don't call us - we'll push - on cross tier push architecture (NLJUG JFall 201...
Don't call us - we'll push - on cross tier push architecture (NLJUG JFall 201...Don't call us - we'll push - on cross tier push architecture (NLJUG JFall 201...
Don't call us - we'll push - on cross tier push architecture (NLJUG JFall 201...Lucas Jellema
 
Powered by Oracle! Te ayudamos a distribuir tu aplicación en todo el mundo
Powered by Oracle! Te ayudamos a distribuir tu aplicación en todo el mundoPowered by Oracle! Te ayudamos a distribuir tu aplicación en todo el mundo
Powered by Oracle! Te ayudamos a distribuir tu aplicación en todo el mundoGeneXus
 
Randy Shoup eBays Architectural Principles
Randy Shoup eBays Architectural PrinciplesRandy Shoup eBays Architectural Principles
Randy Shoup eBays Architectural Principlesdeimos
 
Data Warehousing Infrastructure on Cloud
Data Warehousing Infrastructure on CloudData Warehousing Infrastructure on Cloud
Data Warehousing Infrastructure on Cloudtdwiindia
 
TAUS Scotland Asia Online Technology Platform V1
TAUS Scotland  Asia Online Technology Platform   V1TAUS Scotland  Asia Online Technology Platform   V1
TAUS Scotland Asia Online Technology Platform V1Kirti Vashee
 
Sybase Complex Event Processing
Sybase Complex Event ProcessingSybase Complex Event Processing
Sybase Complex Event ProcessingSybase Türkiye
 
Large-Scale Search Discovery Analytics with Hadoop, Mahout, Solr
Large-Scale Search Discovery Analytics with Hadoop, Mahout, SolrLarge-Scale Search Discovery Analytics with Hadoop, Mahout, Solr
Large-Scale Search Discovery Analytics with Hadoop, Mahout, SolrDataWorks Summit
 
Tim Mackinnon Agile And Beyond
Tim Mackinnon Agile And BeyondTim Mackinnon Agile And Beyond
Tim Mackinnon Agile And Beyonddeimos
 
Searching conversations with hadoop
Searching conversations with hadoopSearching conversations with hadoop
Searching conversations with hadoopDataWorks Summit
 
JDE & Peoplesoft 3 _ Sumedh Vipradas _ Reduce Invoice Processing Costs and Cy...
JDE & Peoplesoft 3 _ Sumedh Vipradas _ Reduce Invoice Processing Costs and Cy...JDE & Peoplesoft 3 _ Sumedh Vipradas _ Reduce Invoice Processing Costs and Cy...
JDE & Peoplesoft 3 _ Sumedh Vipradas _ Reduce Invoice Processing Costs and Cy...InSync2011
 

Tendances (12)

Cloud architecture and deployment: The Kognitio checklist, Nigel Sanctuary, K...
Cloud architecture and deployment: The Kognitio checklist, Nigel Sanctuary, K...Cloud architecture and deployment: The Kognitio checklist, Nigel Sanctuary, K...
Cloud architecture and deployment: The Kognitio checklist, Nigel Sanctuary, K...
 
Don't call us - we'll push - on cross tier push architecture (NLJUG JFall 201...
Don't call us - we'll push - on cross tier push architecture (NLJUG JFall 201...Don't call us - we'll push - on cross tier push architecture (NLJUG JFall 201...
Don't call us - we'll push - on cross tier push architecture (NLJUG JFall 201...
 
Powered by Oracle! Te ayudamos a distribuir tu aplicación en todo el mundo
Powered by Oracle! Te ayudamos a distribuir tu aplicación en todo el mundoPowered by Oracle! Te ayudamos a distribuir tu aplicación en todo el mundo
Powered by Oracle! Te ayudamos a distribuir tu aplicación en todo el mundo
 
Randy Shoup eBays Architectural Principles
Randy Shoup eBays Architectural PrinciplesRandy Shoup eBays Architectural Principles
Randy Shoup eBays Architectural Principles
 
Data Warehousing Infrastructure on Cloud
Data Warehousing Infrastructure on CloudData Warehousing Infrastructure on Cloud
Data Warehousing Infrastructure on Cloud
 
TAUS Scotland Asia Online Technology Platform V1
TAUS Scotland  Asia Online Technology Platform   V1TAUS Scotland  Asia Online Technology Platform   V1
TAUS Scotland Asia Online Technology Platform V1
 
Sybase Complex Event Processing
Sybase Complex Event ProcessingSybase Complex Event Processing
Sybase Complex Event Processing
 
Security data deluge
Security data delugeSecurity data deluge
Security data deluge
 
Large-Scale Search Discovery Analytics with Hadoop, Mahout, Solr
Large-Scale Search Discovery Analytics with Hadoop, Mahout, SolrLarge-Scale Search Discovery Analytics with Hadoop, Mahout, Solr
Large-Scale Search Discovery Analytics with Hadoop, Mahout, Solr
 
Tim Mackinnon Agile And Beyond
Tim Mackinnon Agile And BeyondTim Mackinnon Agile And Beyond
Tim Mackinnon Agile And Beyond
 
Searching conversations with hadoop
Searching conversations with hadoopSearching conversations with hadoop
Searching conversations with hadoop
 
JDE & Peoplesoft 3 _ Sumedh Vipradas _ Reduce Invoice Processing Costs and Cy...
JDE & Peoplesoft 3 _ Sumedh Vipradas _ Reduce Invoice Processing Costs and Cy...JDE & Peoplesoft 3 _ Sumedh Vipradas _ Reduce Invoice Processing Costs and Cy...
JDE & Peoplesoft 3 _ Sumedh Vipradas _ Reduce Invoice Processing Costs and Cy...
 

En vedette

Complex Event Processing in Practice at jDays 2012
Complex Event Processing in Practice at jDays 2012Complex Event Processing in Practice at jDays 2012
Complex Event Processing in Practice at jDays 2012Peter Norrhall
 
Complex Event Processing: What?, Why?, How?
Complex Event Processing: What?, Why?, How?Complex Event Processing: What?, Why?, How?
Complex Event Processing: What?, Why?, How?Alexandre Vasseur
 
Applying complex event processing (2010-10-11)
Applying complex event processing (2010-10-11)Applying complex event processing (2010-10-11)
Applying complex event processing (2010-10-11)Geoffrey De Smet
 
Complex Event Processing - A brief overview
Complex Event Processing - A brief overviewComplex Event Processing - A brief overview
Complex Event Processing - A brief overviewIstván Dávid
 
Complex Event Processing with Esper
Complex Event Processing with EsperComplex Event Processing with Esper
Complex Event Processing with EsperMatthew McCullough
 
CEP Overview v1 2 for public use
CEP Overview v1 2 for public useCEP Overview v1 2 for public use
CEP Overview v1 2 for public usePaul Vincent
 
Semantic Complex Event Processing at Sem Tech 2010
Semantic Complex Event Processing at Sem Tech 2010Semantic Complex Event Processing at Sem Tech 2010
Semantic Complex Event Processing at Sem Tech 2010Adrian Paschke
 
Scalable complex event processing on samza @UBER
Scalable complex event processing on samza @UBERScalable complex event processing on samza @UBER
Scalable complex event processing on samza @UBERShuyi Chen
 
Semantic Complex Event Processing
Semantic Complex Event ProcessingSemantic Complex Event Processing
Semantic Complex Event ProcessingAdrian Paschke
 
Applying CEP Drools Fusion - Drools jBPM Bootcamps 2011
Applying CEP Drools Fusion - Drools jBPM Bootcamps 2011Applying CEP Drools Fusion - Drools jBPM Bootcamps 2011
Applying CEP Drools Fusion - Drools jBPM Bootcamps 2011Geoffrey De Smet
 
Parallel Complex Event Processing
Parallel Complex Event ProcessingParallel Complex Event Processing
Parallel Complex Event ProcessingKarol Grzegorczyk
 
Internet of Things and Complex event processing (CEP)/Data fusion
Internet of Things and Complex event processing (CEP)/Data fusionInternet of Things and Complex event processing (CEP)/Data fusion
Internet of Things and Complex event processing (CEP)/Data fusionBAINIDA
 
Rule Engine Evaluation for Complex Event Processing
Rule Engine Evaluation for Complex Event ProcessingRule Engine Evaluation for Complex Event Processing
Rule Engine Evaluation for Complex Event ProcessingChandra Divi
 
Access control attacks by nor liyana binti azman
Access control attacks by nor liyana binti azmanAccess control attacks by nor liyana binti azman
Access control attacks by nor liyana binti azmanHafiza Abas
 
Tutorial in DEBS 2008 - Event Processing Patterns
Tutorial in DEBS 2008 - Event Processing PatternsTutorial in DEBS 2008 - Event Processing Patterns
Tutorial in DEBS 2008 - Event Processing PatternsOpher Etzion
 
Reactconf 2014 - Event Stream Processing
Reactconf 2014 - Event Stream ProcessingReactconf 2014 - Event Stream Processing
Reactconf 2014 - Event Stream ProcessingAndy Piper
 
Comparative Analysis of Personal Firewalls
Comparative Analysis of Personal FirewallsComparative Analysis of Personal Firewalls
Comparative Analysis of Personal FirewallsAndrej Šimko
 
Installing Complex Event Processing On Linux
Installing Complex Event Processing On LinuxInstalling Complex Event Processing On Linux
Installing Complex Event Processing On LinuxOsama Mustafa
 

En vedette (20)

Complex Event Processing in Practice at jDays 2012
Complex Event Processing in Practice at jDays 2012Complex Event Processing in Practice at jDays 2012
Complex Event Processing in Practice at jDays 2012
 
Complex Event Processing: What?, Why?, How?
Complex Event Processing: What?, Why?, How?Complex Event Processing: What?, Why?, How?
Complex Event Processing: What?, Why?, How?
 
Applying complex event processing (2010-10-11)
Applying complex event processing (2010-10-11)Applying complex event processing (2010-10-11)
Applying complex event processing (2010-10-11)
 
Complex Event Processing - A brief overview
Complex Event Processing - A brief overviewComplex Event Processing - A brief overview
Complex Event Processing - A brief overview
 
Complex Event Processing with Esper
Complex Event Processing with EsperComplex Event Processing with Esper
Complex Event Processing with Esper
 
CEP Overview v1 2 for public use
CEP Overview v1 2 for public useCEP Overview v1 2 for public use
CEP Overview v1 2 for public use
 
Semantic Complex Event Processing at Sem Tech 2010
Semantic Complex Event Processing at Sem Tech 2010Semantic Complex Event Processing at Sem Tech 2010
Semantic Complex Event Processing at Sem Tech 2010
 
Scalable complex event processing on samza @UBER
Scalable complex event processing on samza @UBERScalable complex event processing on samza @UBER
Scalable complex event processing on samza @UBER
 
Semantic Complex Event Processing
Semantic Complex Event ProcessingSemantic Complex Event Processing
Semantic Complex Event Processing
 
Complex Event Processing
Complex Event ProcessingComplex Event Processing
Complex Event Processing
 
Applying CEP Drools Fusion - Drools jBPM Bootcamps 2011
Applying CEP Drools Fusion - Drools jBPM Bootcamps 2011Applying CEP Drools Fusion - Drools jBPM Bootcamps 2011
Applying CEP Drools Fusion - Drools jBPM Bootcamps 2011
 
Parallel Complex Event Processing
Parallel Complex Event ProcessingParallel Complex Event Processing
Parallel Complex Event Processing
 
Internet of Things and Complex event processing (CEP)/Data fusion
Internet of Things and Complex event processing (CEP)/Data fusionInternet of Things and Complex event processing (CEP)/Data fusion
Internet of Things and Complex event processing (CEP)/Data fusion
 
Rule Engine Evaluation for Complex Event Processing
Rule Engine Evaluation for Complex Event ProcessingRule Engine Evaluation for Complex Event Processing
Rule Engine Evaluation for Complex Event Processing
 
Access control attacks by nor liyana binti azman
Access control attacks by nor liyana binti azmanAccess control attacks by nor liyana binti azman
Access control attacks by nor liyana binti azman
 
Tutorial in DEBS 2008 - Event Processing Patterns
Tutorial in DEBS 2008 - Event Processing PatternsTutorial in DEBS 2008 - Event Processing Patterns
Tutorial in DEBS 2008 - Event Processing Patterns
 
Reactconf 2014 - Event Stream Processing
Reactconf 2014 - Event Stream ProcessingReactconf 2014 - Event Stream Processing
Reactconf 2014 - Event Stream Processing
 
Comparative Analysis of Personal Firewalls
Comparative Analysis of Personal FirewallsComparative Analysis of Personal Firewalls
Comparative Analysis of Personal Firewalls
 
Session hijacking
Session hijackingSession hijacking
Session hijacking
 
Installing Complex Event Processing On Linux
Installing Complex Event Processing On LinuxInstalling Complex Event Processing On Linux
Installing Complex Event Processing On Linux
 

Similaire à Complex Event Processing: What?, Why?, How?

Advanced Logging and Analysis for SOA, Social, Cloud and Big Data
Advanced Logging and Analysis for SOA, Social, Cloud and Big DataAdvanced Logging and Analysis for SOA, Social, Cloud and Big Data
Advanced Logging and Analysis for SOA, Social, Cloud and Big DataPerficient, Inc.
 
Architecting for Massive Scalability - St. Louis Day of .NET 2011 - Aug 6, 2011
Architecting for Massive Scalability - St. Louis Day of .NET 2011 - Aug 6, 2011Architecting for Massive Scalability - St. Louis Day of .NET 2011 - Aug 6, 2011
Architecting for Massive Scalability - St. Louis Day of .NET 2011 - Aug 6, 2011Eric D. Boyd
 
A Practical Guide to Selecting a Stream Processing Technology
A Practical Guide to Selecting a Stream Processing Technology A Practical Guide to Selecting a Stream Processing Technology
A Practical Guide to Selecting a Stream Processing Technology confluent
 
CQRS + Event Sourcing
CQRS + Event SourcingCQRS + Event Sourcing
CQRS + Event SourcingMike Bild
 
Mandas Deb S O Aand E D A Benefits And Best Practices V1
Mandas  Deb   S O Aand E D A  Benefits And Best Practices V1Mandas  Deb   S O Aand E D A  Benefits And Best Practices V1
Mandas Deb S O Aand E D A Benefits And Best Practices V1SOA Symposium
 
Introduction to Cloud Data Center and Network Issues
Introduction to Cloud Data Center and Network IssuesIntroduction to Cloud Data Center and Network Issues
Introduction to Cloud Data Center and Network IssuesJason TC HOU (侯宗成)
 
Cloud nativecomputingtechnologysupportinghpc cognitiveworkflows
Cloud nativecomputingtechnologysupportinghpc cognitiveworkflowsCloud nativecomputingtechnologysupportinghpc cognitiveworkflows
Cloud nativecomputingtechnologysupportinghpc cognitiveworkflowsYong Feng
 
GPU Acceleration for Financial Services
GPU Acceleration for Financial ServicesGPU Acceleration for Financial Services
GPU Acceleration for Financial ServicesKinetica
 
Dev Lakhani, Data Scientist at Batch Insights "Real Time Big Data Applicatio...
Dev Lakhani, Data Scientist at Batch Insights  "Real Time Big Data Applicatio...Dev Lakhani, Data Scientist at Batch Insights  "Real Time Big Data Applicatio...
Dev Lakhani, Data Scientist at Batch Insights "Real Time Big Data Applicatio...Dataconomy Media
 
StreamBase - Embedded Erjang - Erlang User Group London - 20th April 2011
StreamBase - Embedded Erjang - Erlang User Group London - 20th April 2011StreamBase - Embedded Erjang - Erlang User Group London - 20th April 2011
StreamBase - Embedded Erjang - Erlang User Group London - 20th April 2011darach
 
Con2012 salmon impact_of_sap_hana_revolutionary_changes_for_sap_controlling_data
Con2012 salmon impact_of_sap_hana_revolutionary_changes_for_sap_controlling_dataCon2012 salmon impact_of_sap_hana_revolutionary_changes_for_sap_controlling_data
Con2012 salmon impact_of_sap_hana_revolutionary_changes_for_sap_controlling_dataaadamserpcorp
 
Kognitio overview jan 2013
Kognitio overview jan 2013Kognitio overview jan 2013
Kognitio overview jan 2013Michael Hiskey
 
Kognitio overview jan 2013
Kognitio overview jan 2013Kognitio overview jan 2013
Kognitio overview jan 2013Kognitio
 
Controlling 2012 Impact of SAP HANA
Controlling 2012 Impact of SAP HANAControlling 2012 Impact of SAP HANA
Controlling 2012 Impact of SAP HANAJohn Jordan
 
Research ON Big Data
Research ON Big DataResearch ON Big Data
Research ON Big Datamysqlops
 
Research on big data
Research on big dataResearch on big data
Research on big dataRoby Chen
 
OpenSpan - A Better Way to Work, A Better Way to Manage
OpenSpan - A Better Way to Work, A Better Way to ManageOpenSpan - A Better Way to Work, A Better Way to Manage
OpenSpan - A Better Way to Work, A Better Way to ManageFrank Wagman
 
Azug - successfully breeding rabits
Azug - successfully breeding rabitsAzug - successfully breeding rabits
Azug - successfully breeding rabitsYves Goeleven
 
21st Century SOA
21st Century SOA21st Century SOA
21st Century SOABob Rhubart
 

Similaire à Complex Event Processing: What?, Why?, How? (20)

Advanced Logging and Analysis for SOA, Social, Cloud and Big Data
Advanced Logging and Analysis for SOA, Social, Cloud and Big DataAdvanced Logging and Analysis for SOA, Social, Cloud and Big Data
Advanced Logging and Analysis for SOA, Social, Cloud and Big Data
 
Architecting for Massive Scalability - St. Louis Day of .NET 2011 - Aug 6, 2011
Architecting for Massive Scalability - St. Louis Day of .NET 2011 - Aug 6, 2011Architecting for Massive Scalability - St. Louis Day of .NET 2011 - Aug 6, 2011
Architecting for Massive Scalability - St. Louis Day of .NET 2011 - Aug 6, 2011
 
A Practical Guide to Selecting a Stream Processing Technology
A Practical Guide to Selecting a Stream Processing Technology A Practical Guide to Selecting a Stream Processing Technology
A Practical Guide to Selecting a Stream Processing Technology
 
CQRS + Event Sourcing
CQRS + Event SourcingCQRS + Event Sourcing
CQRS + Event Sourcing
 
Mandas Deb S O Aand E D A Benefits And Best Practices V1
Mandas  Deb   S O Aand E D A  Benefits And Best Practices V1Mandas  Deb   S O Aand E D A  Benefits And Best Practices V1
Mandas Deb S O Aand E D A Benefits And Best Practices V1
 
Introduction to Cloud Data Center and Network Issues
Introduction to Cloud Data Center and Network IssuesIntroduction to Cloud Data Center and Network Issues
Introduction to Cloud Data Center and Network Issues
 
Cloud nativecomputingtechnologysupportinghpc cognitiveworkflows
Cloud nativecomputingtechnologysupportinghpc cognitiveworkflowsCloud nativecomputingtechnologysupportinghpc cognitiveworkflows
Cloud nativecomputingtechnologysupportinghpc cognitiveworkflows
 
GPU Acceleration for Financial Services
GPU Acceleration for Financial ServicesGPU Acceleration for Financial Services
GPU Acceleration for Financial Services
 
Dev Lakhani, Data Scientist at Batch Insights "Real Time Big Data Applicatio...
Dev Lakhani, Data Scientist at Batch Insights  "Real Time Big Data Applicatio...Dev Lakhani, Data Scientist at Batch Insights  "Real Time Big Data Applicatio...
Dev Lakhani, Data Scientist at Batch Insights "Real Time Big Data Applicatio...
 
StreamBase - Embedded Erjang - Erlang User Group London - 20th April 2011
StreamBase - Embedded Erjang - Erlang User Group London - 20th April 2011StreamBase - Embedded Erjang - Erlang User Group London - 20th April 2011
StreamBase - Embedded Erjang - Erlang User Group London - 20th April 2011
 
Con2012 salmon impact_of_sap_hana_revolutionary_changes_for_sap_controlling_data
Con2012 salmon impact_of_sap_hana_revolutionary_changes_for_sap_controlling_dataCon2012 salmon impact_of_sap_hana_revolutionary_changes_for_sap_controlling_data
Con2012 salmon impact_of_sap_hana_revolutionary_changes_for_sap_controlling_data
 
Kognitio overview jan 2013
Kognitio overview jan 2013Kognitio overview jan 2013
Kognitio overview jan 2013
 
Kognitio overview jan 2013
Kognitio overview jan 2013Kognitio overview jan 2013
Kognitio overview jan 2013
 
Controlling 2012 Impact of SAP HANA
Controlling 2012 Impact of SAP HANAControlling 2012 Impact of SAP HANA
Controlling 2012 Impact of SAP HANA
 
Research ON Big Data
Research ON Big DataResearch ON Big Data
Research ON Big Data
 
Research on big data
Research on big dataResearch on big data
Research on big data
 
Scaling tappsi
Scaling tappsiScaling tappsi
Scaling tappsi
 
OpenSpan - A Better Way to Work, A Better Way to Manage
OpenSpan - A Better Way to Work, A Better Way to ManageOpenSpan - A Better Way to Work, A Better Way to Manage
OpenSpan - A Better Way to Work, A Better Way to Manage
 
Azug - successfully breeding rabits
Azug - successfully breeding rabitsAzug - successfully breeding rabits
Azug - successfully breeding rabits
 
21st Century SOA
21st Century SOA21st Century SOA
21st Century SOA
 

Dernier

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 

Dernier (20)

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 

Complex Event Processing: What?, Why?, How?

  • 1. Complex Event Processing Quoi, Pourquoi, Comment? Fabien Coppens Alexandre Vasseur ©OCTO Technology – Université d’été du Système d’information
  • 2. Objectives • Understand what Complex Event Processing (CEP) is • Where does CEP fit in SOA/EDA/BAM/BI/RDBMS • Learn about CEP use cases • Discover CEP adoption paths
  • 3. Speaker Qualifications • Fabien Coppens • Senior Architect • CEP user • Alexandre Vasseur • Middleware technology evangelist • Esper co-lead & early CEP fan
  • 4. The « Right-Time » Enterprise Situation • Business is data-driven – More data, more sources Events – More complex situational scenarios • Right-time is Time – A business imperative – A technology challenge Push • Strong coupling! Loosely coupled • Request/Response! Time & • Data stored and later analyzed Event-Driven • Moving requirements Action/Decision
  • 5. SOA + EDA + XTP + Edge + BAM/BI Convergence: Event Processing « By 2011, a new generation of application platforms stemming from the convergence of extreme transaction processing (XTP) technologies will supersede Java EE and .NET as the platform of choice for large-scale, business-critical operational applications.“ Gartner, July 2007 Large scale SOAs RFID BAM & monitoring Financial Services Sensors Fraud detection Location/presence based services Security Right-Time + Events
  • 6. Event Processing Simple, Streaming, Complex / Business EP • Simple • Consumer/Producer, JMS, ESBs, EIP – Route, Filter, Enrich – Stateless & Timeless • Streaming • How? – min,max,avg – « Event Stream Processing » – Sliding data windows – Statefu-less / Timefu-less • Complex / Business • How?? – Many streams – Continuous joins and indexing – Causality – Time as first class citizen A followed by B • Temporal requests within t minutes – Statefull / Timefull – Different rates – Historical data and real time data When [CEP] then […]
  • 7. CEP’s Friends • Edge – Produce zillions of events • SOA – Interconnect, mediate, leverage and reuse • XTP – Scale throughput and data volumes as required – Right-time down to sub-millisecond where needed • Rules engine When [CEP] then […] If … then […] CEP Situational & Actionable Awareness • BAM & BI (or back to SOA) – Operational applications
  • 8. CEP ~ Database 2.0 ? • RDBMS • CEP – Store data (a lot) – Store rules – Handle queries – Handle data – SQL (ie abstracted) – EPL: Event Processing Language • Request/Response • Subscribe/Notify • Concept of Time • Time & causality • Right time • « Continuous query » CEP Server Database EPL Queries SQL Queries CEP
  • 9. Event Processing Language & CEP Server • EPL: For right-time events, what SQL is to historical data – Best practices, rapid prototyping, tooling, less custom code • CEP server: Middleware to deal with recurrent complexity – indexing, state management, scalability, management, connectivity etc Transports Is EPL expressive enough Dashboards (build vs buy) In & Out Is EPL a standard CEP Application (vs SQL) Source + CEP as EPL + Sink Is it a specialized RDBMS or a true engine? Does it require a Runtime Management Runtime Management Record / Replay / Test Record / Replay / Test Time & RDBMS? Filter, Aggregate Causality Manageable? Sliding windows Scalable Continuous execution Interoperate? State management, threading Interrop. High Availability
  • 10. #1: Algorithmic trading • Volume Weighted Average select ticker, avg(price), count(*), sum(price) from MarketData(ticker=‘GOOG').win:length(1000) Simple Event Processing Stream Processing (Timefull) • Example CEP server performance figures – 1 CEP server, Java based, TCP in/out – 1000 CEP statements – 500 000 evt/s [100 Mbit/s] – Latency: avg 2.5µs, 99% < 10µs – 4 core 2GHz, 65% load avg
  • 11. #1: Build vs Buy? Avg price / last 2 ticks, per ticker MarketData(GOOG, 50) list = new MyList(GOOG,2) /*2 = size*/ // on event MarketData(MSFT, 25) list.add(tick) // some tick discarded // as list size was MarketData(GOOG, 30) // harcoded with size 2 //TODO: do not hardcode GOOG:40 // recompute avg MarketData(GOOG, 40) //TODO: optimize this send computeAvg(list) GOOG:35 Receive market data • Functional specification? • Abstraction for user defined rules? Output / trigger actions • Performance & monitoring etc?
  • 12. #2: Fraud and compliance, risk management Context – FX trading – Event { Trade direction, amount, user id, account, currencies traded } – 200 000 evt/day, 50 rules, ~5% of triggering Two (or more) buy trades followed by ( ) a sale within the next hour between 2 parties select e1, e2, final from pattern [ every e1=FXTrade(userId in (100,101)) (e2=FXTrade(userId in (100,101), dir = e1.dir) where timer:within(8 hours) ) final=FXTrade(userId in (100,101), dir != e1.dir) where timer:within(1 hour) ]
  • 13. #3: Location based services Context: • Mobile asset management (Command & Control systems) • Tracking delay between real time position and planned position – 20% time left to reach destination, 10% delta from planned position • Continuous join with reference (passive) data select id, lat, lon, time-ref.time, Utils.distance(lat,lon,ref.lat,ref.lon) as distance from GPSPosition, sql:RefDB [ select lat, lon, time from Plan where id={id} and stage=‘JFK’ ] as ref where time<0.8*ref.time and Utils.distance(lat,lon,ref.lat,ref.lon)>1.1*SPEED*(0.8*ref.time-time)
  • 14. #4: Trading as SaaS : Strateer • Algo trading as SaaS • CEP is a core enabler • Users can configure their own trading strategies • ~20 CEP rules templates provided – Each configurable by end users • Power users can create their own rules • Esper CEP + JMS + MarketData connectors + RIA
  • 15. #4: Strateer use case 1. Drag & Drop 2. your own automated Test it the way strategy fund managers 3. do 5. Then run it 4. Share and on Strateer: compare Get trading 1000s of data results with alerts to you sources, real- community anytime, time engine. anywhere. Strateer is algorithmic trading for individual investors
  • 17. Solutions (excerpt) Single use case platform (trading, Event Processing = Middleware compliance, BI ..) xxx Event Processing x = Simple / Stream / Complex / Rules ? Mandates a DB? In-memory vs hidden DB vs DB Latency / Throughput 1 to 1000 if not more range Of the shelf? Interoperate? Open platform? Proven / Innovating … Maturity … Cost (Buy + Learn + Operate) …
  • 18. Adoption: Risks & Benefits “CEP is mature? CEP is really not ESP? CEP is really event-driven SOA? CEP is really real-time BI? CEP is really low latency, high throughput, white-box COTs algo trading? CEP is really not a type of BPM? CEP is not really for detecting complex events? Complex does not really mean complex?” [as seen on blogs] Use case driven ? Build vs Buy SOA/BI/BAM related Orthogonal processing (discover & monitor) vs path critical processing (act upon)
  • 19. Links • http://esper.codehaus.org • http://www.espertech.com • http://complexevents.com • And many other googling around or asking your favorite vendors (!)