스팅어는 아파치 하이브(Apache Hive)의 쿼리 속도를 현재보다 100배 높인다는 프로젝트로대화형 쿼리 분석을 실현하기 위해 개발되고 있습니다클라우데라의 임팔라그루터의 타조 등이 맵리듀스와 하이브를 대체하는 새로운 쿼리엔진을 개발하는데 비해 스팅어는 하이브의 최적화와 포맷 변경으로 속도를 개선하는데 초점을 맞추고 있습니다.

 

호튼웍스는 하이브야말로 SQL--하둡(SQL on Hadoop)을 위한 최고의 선택이라고 생각하며, 3단계에 걸친 개선 계획을 발표했습니다.

 

 

스팅어 1단계(Stinger Phase One) – 하이브 0.11 (HDP 1.3)

HDP1.3에 포함된 스팅어 1단계는 하이브 0.11를 사용합니다스팅어 1단계에서는 SQL 호환성 개선(일반적인 분석 쿼리에 대해 35~45배 성능 향상)과 컬럼 스토어 기술압축인메모리 해시 조인 등이 개발되었습니다.

 

 

스팅어 2단계(Stinger Phase Two) – 하이브 0.12 (HDP 2.0)

HDP2.0에 포함된 스팅어 2단계는 하이브 0.12를 사용합니다하지만 맵리듀스 엔진은 그대로 사용해 얀(YARN, Yet Another Resource Negotiator) 아키텍처의 이점을 활용하지 못했습니다. VARCHAR  DATE 데이터 타입을 통해서 단순화된 SQL 상호 운영성을 지원하며여러가지 요인에 의해서 복잡한 쿼리(Query)의 속도를 향상시키는 새로운 쿼리 최적화 작업을 진행하여스팅어 2단계에서는 1단계보다 60~70배 정도의 성능개선이 있었습니다


하이브의 데이터 유형 ]



스팅어 3단계(Stinger Phase Three)

현재 진행형인 스팅어 3단계는 맵-리듀스를 대체하는 테즈(Tez)엔진으로 데이터 처리부를 교체하는 작업이 주요 내용입니다호튼웍스는 HDP2.0을 통해 여러 하둡 스택도 최신 버전으로 업데이트했습니다



Apache Tez


하둡(Hadoop)에서 HDFS처리를 담당하던 맵-리듀스(Map-Reduce)는 배치 지향적인 설계로 인하여 대화형 쿼리에 대한 성능이 많이 떨어집니다아파치 Tez는 하이브(Hive)와 피그(Pig) 프로젝트에게 빠른 응답시간과 대규모 데이터 처리량에 대한 수요를 충족하도록 지원합니다.

 

하둡 2.0 스택 ]

 

Tez는 하이브와 피그의 작업 속도를 가속화할 것입니다불필요한 작업과 동기화 장애 그리고 HDFS에서 읽고 쓰기를 제거함으로써 낮은 대기시간과 높은 처리량 작업으로 데이터 처리 속도를 가속화할 것입니다.


+ Recent posts