작성시작: 2016-10-20, 최종수정: 2016-10-20
Note: 2014년 자료로 작성하였음. 현재 내용이 다를 수도 있으니 추가 확인 필요
Druid로 실시간 분석하기
실시간
- 여기서 실시간이란 수십초안에 응답 및 실시간 ingestion을 을 의미
Analytics
- 데이터를 클렌징, 변환, 모델링해서 정보를 찾는 프로세스
Business Intelligence
- 비즈니스 정보에 초점을 맞춘 애널리틱스
Druid란?
- google dremel에서 영감을 얻음
- 오픈소스 OLAP 엔진
- aggreation을 수십초안에 해결
- 메모리 매핑 데이터 사용
특징
- de-normalized data
- time-based segments
- timeseries/groupby/TopN 처리에 강함
- Hadoop과 잘 동작
메인 컴포넌트
* 인덱싱 서비스
- 실시간 ingestion
- hadoop 배치 ingestion
- 로컬 배치 ingestion
- 인덱싱 단계에서 aggregation 정의
- 최종 결과: 데이터 세그먼트를 deep store에 저장. 각 세그먼트는 시간범위를 가지고 있음
* 코디네이터 노드
- MySQL 메타데이터 읽기 조정.
* 브로커 노드
- 질의를 세그먼트를 가진 노드에 전달
- partial aggregation 결과를 취함
* 히스토리컬 노드
- deep store에 있는 immutable 인덱스 데이터를 로딩
* 실시간 노드
왜 Druid를 일까?
장점
- Horizontal Scalability - 선형 성능 보장
- 수초안에 응답시간(실시간급)
- 네이티브 타임존 지원
- 통합 버전( 배치 + 실시간 ingestion/질의 지원, 분산 memcached 지원, 멀티티어 복제/로드 지원)
- 활발한 커뮤니티
단점
- SQL/MDX보다 제한적인 질의 (빅쿼리는 ANSI SQL지원)
- 조인이 힘듬
- distinct 카운트 불가
- groupby 질의시 메모리 제한 있음
참고: http://www.slideshare.net/ydn/pushing-thelimitsofrealtimeanalyticswithdruidv3
'Summary' 카테고리의 다른 글
[요약] 데이터 큐브와 스타 스키마와의 차이점 (0) | 2016.10.24 |
---|---|
[요약] 데이터 마이닝 방법론/프로세스 CRISP-DM (0) | 2016.09.28 |
[요약] 추천시스템의 핵심기술 (0) | 2016.09.28 |
[요약] 노트 7 소셜 반응 분석 & 구현하기 / 빅쿼리,제플린 사용 (0) | 2016.09.28 |