Computer Science/Big data

CEP란? - (1)개념(Complex Event Processing)

해피단무지 2018. 7. 25. 10:10
  • WIKI
    • Complex event processing, or CEP, is event processing that combines data from multiple sources[2] to infer events or patterns that suggest more complicated circumstances. The goal of complex event processing is to identify meaningful events (such as opportunities or threats)[3] and respond to them as quickly as possible

  • CEP (Complex Event Processing) 정의 
    • 여러 이벤트 소스로부터 발생한 이벤트를 대상으로 "실시간"으로 의미있는 데이터를 추출하여 대응되는 액션을 수행하는 것 [실시간 분석]
    • 이벤트 데이터란, 스트림 데이터로써 대량으로 지속적으로 입력되는 데이터, 시간 순서가 중요한 데이터, 끝이 없는 데이터를 말함
    • 스트림 데이터는 전동적인 관계형 데이터베이스로는 실시간 처리 및 분석이 불가능 
      CEP는 이러한 스트림 데이터를 실시간으로 분석하는 이벤트 데이터 처리 솔루션
    • [출처] https://okky.kr/article/200864


  • 개념 요약
    • 실시간 이벤트 처리 기술
    • 수 많은 이벤트에서 의미 있는 이벤트를 찾아내고 필터링
    • EDA(Event-Driven Architecture) 기반 시스템
      • 선처리 후저장 패러다임: 일반적인 선자저장 후처리 패러다임과 반대 개념
      • 따라서 Response가 아닌 Reaction 하는 시스템
      • Asynchronous Sytle Processing
      • CEP가 이러한 스타일을 그대로 물려받음
    • Intelligence System
    • Loely-coupled 구조적 특징
    • Asynchronous Style 처리 패러다임

  • 대표적인 오픈소스
    • Esper
      • In-Memory를 위한 Oracle, SAP등 대형 벤더들의 많은 솔루션들이 있지만, 오픈소스로 유명한 EsperTech의 Esper, JBoss Drools Fusion 등이 있음
      • Esper는 개발자가 접근하기 쉬운 SQLike한 Script 언어인 EPL(Event Processing Languate)가 제공되어 초기 진입장벽이 높지 않으며, 다양한 프로토콜로 Input 및 Ouput을 처리해 낼 수 있음
      • 2004년 Thomas Bernhardt가 시작함
      • 특징
        • ESP/CEP Engine 제공
        • EPL(Event Processing Language)제공
        • In-Memory 기반 시스템
        • Lightweight & Embeddable
      • 구성
        • Input Adapter
        • CEP engine
        • Output Adapter
      • Esper은 초당 50만건 이상의 처리 성능과 평균 3microseconds 이하로 처리한다고 하며, 이러한 Esper를 활용하여 다양한 실시간 이벤트 처리에 활용 할 수 있을 것임
      • 적용 가능한 모델
        • Real-Time Analytics
        • Predictive Analytics
        • Real-Time ETL
        • Algorithmic Stock-Trading
        • Operational Intelligence
    • [출처] http://hochul.net/blog/about-esper-%EC%8B%A4%EC%8B%9C%EA%B0%84-%EC%9D%B4%EB%B2%A4%ED%8A%B8-%EC%B2%98%EB%A6%AC%EB%A5%BC-%EC%9C%84%ED%95%9C-cep-%EB%8C%80%ED%91%9C-%EC%98%A4%ED%94%88%EC%86%8C%EC%8A%A4/


  • 그 외
    • Storm
    • siddi CEP
    • Spring XD
    • Jboss Droos


  • 궁금한 점
    • Spark, Storm, Esper의 차이점
      • 참고: http://www.itworld.co.kr/news/91022
      • 참고: http://wiseeco.tistory.com/entry/Storm%EA%B3%BC-Esper%EB%A1%9C-%EC%8B%A4%EC%8B%9C%EA%B0%84-%EB%B6%84%EC%84%9D
      • 참고: http://blog.embian.com/14
    • ESP 와 CEP
      • 참고: http://larrynmark.blogspot.com/2014/12/blog-post_17.html
    • Esper - Storm - Spark 등장 배경
      • 참고: https://www.slideshare.net/tedwon/realtimeinmemorystreamprocessingbytedwon