I. Apache Storm의 개요
가. Apache Storm의 정의
- 데이터의 실시간 처리를 위해 개발된 범용 분산 환경 기반 실시간 데이터 처리 시스템
II. Apache Storm의 구조 및 구성요소
가. Apache Storm의 구조
나. Apache Storm의 구성요소
구분 |
설명 |
님버스 (Nimbus) |
- 워커 노드에 상주하는 수퍼바이저에 작업을 분배하고, 주키퍼를 이용하여 노드 간 통신 및 작업 상태 관리 |
수퍼바이저 |
- 슬레이브 노드의 데몬, 님버스에게 할당 받은 작업 처리 |
워커 |
- 로컬 노드에 의해 관리되며, 노드 성능에 따라 하나 이상의 워커가 독립적으로 수퍼바이저의 하위로 실행 |
주키퍼 |
- 클러스터 설정과 상태 저장, 작업 진행 상황 및 클러스터의 상태 등 정보 제공 |
III. Hadoop, Spark, Storm 비교
구분 |
Hadoop |
Spark |
Storm |
데이터 처리방법 |
- 일괄 처리 방식 |
- 일괄 처리 방식 |
- 실시간 스트리밍 방식 |
업데이트 단위 |
- 레코드 |
- 파일 또는 테이블 |
- 스트림 (tuple) |
컴퓨팅 환경 |
- 디스크 기반 |
- 인메모리 기반 |
- 인메모리 기반 |
반복 연산 |
- Weak |
- Strong |
- Medium |
개발 언어 |
- Java |
- Scala |
- Clojure |
SQL 지원 여부 |
- Tajo에서 지원 |
- Spark SQL에서 지원 |
- 관련 없음 |
추천 환경 |
- 데이터 대비 작업 복잡도가 크지 않고 작업의 중간 단계에서 데이터 교환이 많은 시스템에 적합 |
- 분할된 데이터에 대해 반복 또는 많은 연산 작업이 발생하고 데이터 간 교환이 적은 시스템에 적합 |
- 사용자 질의에 대한 응답 시간이 짧고, 동일 데이터에 대하여 다양한 질의 형태가 존재하는 시스템에 적합 |
'IT기술노트 > 빅데이터' 카테고리의 다른 글
CAP이론 (0) | 2021.03.01 |
---|---|
NoSQL(Not Only SQL) (0) | 2021.03.01 |
카파 아키텍처(Kappa Architecture) (0) | 2021.03.01 |
람다 아키텍처(Lambda Architecture) (0) | 2021.03.01 |
Apache Spark (0) | 2021.03.01 |
Map Reduce (0) | 2021.03.01 |
HDFS (0) | 2021.03.01 |
하둡 에코시스템(Hadoop Eco System) (0) | 2021.03.01 |
댓글