Computer Science/Big data

CEP란? - (3)정리(CEP란, Hadoop과의 비교, Storm과의 비교, Esper)

해피단무지 2018. 7. 27. 21:36

CEP(Complex Event Processing) 정의

  • 여러 이벤트 소스로부터 발생한 이벤트를 대상으로 "실시간"으로 의미있는 데이터를 추출하여 대응되는 액션을 수행하는 것 [실시간 분석]
  • 이벤트 데이터란, 스트림 데이터로써 대량으로 지속적으로 입력되는 데이터, 시간 순서가 중요한 데이터, 끝이 없는 데이터를 말함
  • DB나 File, Hadoop 등에 저장하지 않고, 다양한 고속의 이벤트 스트림을 In-Memory 기반으로 초당 수 백/ 수 십만건의 Real-time 처리가 가능
  • 스트림 데이터는 전동적인 관계형 데이터베이스로는 실시간 처리 및 분석이 불가능 
    → CEP는 이러한 스트림 데이터를 실시간으로 분석하는 이벤트 데이터 처리 솔루션


Hadoop과의 비교 

DB/Hadoop (Batch)구분CEP (Real-time)
  • 선저장, 후분석 방식

  • DB 또는 FileSystem, HDFS 저장 후 분석

분석 방식
  • 선분석, 후저장 방식

  • In-Memory 기반 분석 / Event-Driven Architecture

batch processing처리 매커니즘cep processing
  • Near Real-time

  • 초/분/시 지연분석

  • 데이터가 많아질 수 록 응답 지연 발생 가능성 높음

분석 지연
  • (Real) Real-time

  • 1/1000초 미만

  • 데이터 용량에 상관없이 Low-Latency 보장

출처: http://hochul.net/blog/bigdata_paradigm_realtime_kthdaisy/

적용 예시

  • 실시간 시스템 관리 및 장애 경감
  • 국경 보안, 교통 물류, 공항 관리
  • 실시간 슬롯머신 사용량을 통한 설득
  • 온라인 사기 감시
  • 스마트 미터기
  • 도로 통행료 관리 시스템
  • 인텔리전트 케이블 셋톱박스 관리
  • 알고리즘 거래, 스마트 주문 라우팅
  • 실시간 제조 생산 라인 모니터링
  • 실시간 근접한 위치를 탐색하는 응급 서비스
  • 스마트 몰: 위치기반 상품 프로모션

대표적인 솔루션

  • Esper
  • Storm
  • Droos

Esper

  • Esper is a component for complex event processing (CEP) and event series analysis.
  • Esper는 실시간으로 발생하는 이벤트를 분석하고 처리하기 위한 컴포넌트
  • 외부에서 발생한 이벤트를 Esper 엔진에 전달하면 이벤트를 분석
    • EPL(Event Processing Language) 언어 사용, 조건에 맞는 이벤트를 찾고 처리한 결과 데이터를 생성

Esper와 Storm과의 연동

  • Esper는 비정형 데이터를 다루기 어렵기 때문에 Storm과 연동해서 설계하면 효율적
  • Storm에서 비정형 데이이터(ex. 트위터 정보)를 실시간으로 추출해 내서 Esper에 전달하면 Esper에서는 이 데이터로 의미 있는 이벤트를 찾아 쿼리문으로 실행
  • 수집과 분석을 모두 실시간으로 할 수 있음
  • [출처] 실시간 데이터 수집 및 처리, 최민수, 동국대, 2013