상세 컨텐츠

본문 제목

8. 빅데이터 실시간 적재 - Storm & Esper

카테고리 없음

by 견오수 2021. 10. 19. 16:30

본문

728x90

1. Storm 이란?

 

Legacy 시스템이나 수집 단계에서부터 데이터가 끊이지 않고 매우 빠른 속도로 유입되는 스피드 데이터는 워낙 양도 많고 빠르게 발생하다 보니 대규모 병렬 처리를 이용해 실시간 데이터를 프로세싱(분리, 정제, 조합, 카운팅)할 수 있는 S/W가 필요해졌고 이를 해결하기 위해 개발된 것이 Storm이라고 할 수 있습니다. Storm 은 데이터를 적재하기도 전에 발생과 동시에 이벤트를 감지해서 처리하는 방식으로 실시간 데이터를 분산 처리합니다.

 

  • 카프카의 컨슈머 역할을 하며, 대규모 스트림 데이터를 병렬처리를 하면서 영구저장소에 빠르게 적재를 함.
  • 영구저장소에 데이터를 저장하기 전에 전처리,분석,집계도 해줌.

 

 

 

2. Storm 아키텍처

 

 

storm도 분산 Node로 구성이 되어 있고 Supervisor가 있습니다. Node와 Nimbus사이에서 주키퍼가 관여해서 클러스터를 구성을 합니다. 각 노드들은  Worker, Executor, Task, Spout, Bolt가 있다. External Source Application 1이 Spout를 통해서 데이터를 유입받게 되고, Spout가 Bolt로 넘기고,  Bolt가 분산병렬처리해서 최종적으로  External Target  Application 2에 전송을 하는 구조이다.

 

3. Esper 란?

 

실시간 스트리밍 데이터의 복잡한 이벤트 처리가 필요할 때 사용하는 롤 엔진 즉, CEP 엔진이라고 할 수 있습니다. 다양한 조건과 복합적인 이벤트를 하나의 룰로 정의할 수 있어 CEP를 처리하고 룰을 관리하는 것이 손쉽다고 할 수 있는 자바 라이브러리 프로그램이기 때문에 어플리케이션 응용 프로그램에 설치해서 프로그래밍이 가능합니다.

 

 

  • 오픈소스 컴플라이언스 이슈

 

빅데이터의 소프트웨어들은 대부분이 오픈소스로 이뤄져 있다. 이 가운데 하둡을 중심으로 대부분 아차피 라이선스를 채택하고 있습니다.  아차피 라이선스의 경우 제약사항이 적어 다양한 비즈니스 모델에 적용해도 크게 문제되지 않는다 하지만 간혹 오픈소스이지만 상업적 활용이 어렵고 소스 공개 의무가 있어 컴플라이언스 이슈가 발생하는 라이선스가 있다. 대표적으로 GPL,AGPL 등이 있는데 에스퍼가 GPL2.0 라이선스를 채택해서 주의를 해야한다.

 

4. Esper 아키텍처

 

 

애플리케이션 서버는 storm으로 사용할 수 도 있습니다. 데이터들이 Input Adapter를 통해서 들어오게 된다면 에스퍼 엔진에서 이벤트 프로세싱 처리를 하고 storm이 최종적으로 데이터베이스, 애플리케이션 등에 전송을 합니다.

 

 

 

EPL 스크립트를 공유하기 위해 EPL 공유 저장소가 있는 아키텍처 입니다.

 

 

출처 : 실무로 배우는 빅데이터 기술 : 데이터 수집, 적재, 처리, 분석, 머신러닝까지[2판]

728x90

댓글 영역