Tags

Stinger에 대한 기술적 검토 (Stinger Phase 3 Technical Preview)

This article is based on Hortonworks Blog.

이전 블로그에서 다뤘던 것처럼 하둡은 초기의 배치 처리(Batch Processing)뿐만 아니라 다양한 데이터 이용 행태에 맞게 진화해 왔습니다.
크게 세 가지 정도로 나눌 수 있겠네요.
- 배치 처리 방식 : MapReduce
- SQL문을 입력하고 결과를 얻는 방식 : HIVE, Stinger
- 데이터 실시간 스트리밍을 처리하는 방식 : Storm 등

Stinger는 기본적으로 SQL문을 입력하고 결과를 얻는 형태이지만 HIVE가 가진 퍼포먼스의 문제를 최대한 해결한 모듈이라고 보면 되겠습니다.
자세한 내용은 아래 문서를 참조하세요.
technical preview of Stinger Phase 3 <-- 다운로드

배치 처리뿐만 아니라 관계형 데이터베이스(Relational Database)에서 처럼 원하는 결과를 얻고 싶을 때 SQL문을 입력하고 바로 결과를 얻을 수 있는 이른바 “Interactive Data Processing” 엔진으로 진화하는 과정이라고 봐도 무방하겠습니다.

Stinger는 Apache Tez라는 일종의 런타임 엔진(Runtime Engine)과 HIVE를 결합시킨 것이므로 여기서 Tez에 대한 설명이 좀 필요하겠습니다.
잘 아는 것처럼 HIVE는 SQL문을 해석해서 MapReduce로 변환해서 실행하는 기술입니다.
그래서 HIVE는 궁극적으로 MapReduce가 가진 한계를 공유하고 있습니다.

아파치 Tez는 MapReduce를 일반화시켜서 이른바 DAG(Directed Acyclic Graph)를 처리할 수 있는 엔진입니다.
아파치 Tez의 공식 문서에 의하면 이전의 결과값에 의해서 다음 결과가 변하는 기본 알고리즘을 구현한 엔진이어서 SQL문의 결과를 얻어 내는 단계를 단축하여 빨리 결과를 얻어 낼 수 있다고 합니다.

이번에 Stinger에서 향상이 된 부분은 다음과 같습니다.
1. 실행 엔진으로 Tez기반으로 할 것인지, 아니면 검증이 된 MapReduce기반으로 할 것인지 선택 가능.
2. 쿼리 엔진의 퍼포먼스 향상을 통해서 SQL 처리 성능도 함께 향상시킴.
3. 지원하는 SQL 구문의 범위를 많이 넓힘.

———————————————————————————————————–
ASD Technologies는 호튼웍스(Hortonworks Inc)와의 Consulting Partnership을 통해서
빅데이터에 대한 도입 컨설팅 및 구축을 도와드리고 있습니다.

호튼웍스 파트너 홈페이지
ASD Technologies Korea 홈페이지

Contact Point : sunung@asdtech.co
———————————————————————————————————–