"아파치 하이브: 비즈니스 인텔리전스와 실시간 조회 관점에서" 슬라이드는 제 10회 ACC (http://acc.zdnet.co.kr)에서 아파치 하이브 기여자 최종욱이 발표한 내용을 담고 있습니다. 최근 스팅어가 추구하는 방향, 그리고 달성한 성과와 HBase 통합 분야의 발전을 소개합니다.
4. 1. 비즈니스 인텔리전스
(Business Intelligence)
•
“구슬이 서말이라도 꿰어야 보배”
•
의사결정에 필요한 정보를 제공
•
비즈니스 인텔리전스 제품들이 자
료에 대한 통찰을 제공하며, 이 제품
들은 SQL을 바탕으로 데이터를 다
룬다. 또한 기존의 분석가들도 SQL
에 익숙하다.
SQL
5. 아파치 하이브
(Apache Hive)
•
페이스북에서 익숙한 SQL 언어로 하
둡에서 대용량 자료를 다루기 위해 만
들고 오픈소스로 공개했다.
•
그 동안 많은 경쟁자들이 도전한다. 클
라우데라의 임팔라(Impala), 타조
(Tajo), 샤크(Shark) 등.
•
ODBC 드라이버 전문 제작 업체 심바
테크놀로지스에 따르면, 하이브는 여
전히 SQL 온/인 하둡 제품들의 실질
적인 표준으로 자리잡고 있다. 엑셀,
탈렌드, 마이크로스트래티지, SAP 하
나 등 주요 BI 관련 제품이 지원한다.
가장 많은 인증 기능도 제공한다.
SAPHANA
6. 관련 제품들
클라우데라 임팔라"
아파치 하이브"
스팅어 계획
페이스북 프레스토"
IBM Big SQL"
아파치 타조"
피보탈 HAWQ
SQL 인 하둡
SQL 온 하둡
7. 상호작용적 분석을 위해
다양한 기법 적용
(인메모리, MPP,
LLVM, …)
관련 제품들
SQL 인 하둡의 선구자,
맵리듀스의 한계로
상호작용적 분석에는 부적합
아파치 하이브!
스팅어 계획
클라우데라 임팔라!
페이스북 프레스토!
IBM Big SQL!
아파치 타조!
피보탈 HAWQ
SQL 인 하둡
SQL 온 하둡
8. 관련 제품들 독자적인 자료 처리,
클러스터 추가 구성
클라우데라 임팔라!
아파치 하이브"
스팅어 계획
하둡 2 얀(YARN) 기반,
하둡 클러스터를 사용
SQL 인 하둡
페이스북 프레스토!
IBM Big SQL!
아파치 타조!
피보탈 HAWQ
SQL 온 하둡
9. 관련 제품들
하이브 메타스토어 중심
클라우데라 임팔라!
아파치 하이브!
스팅어 계획
페이스북 프레스토!
IBM Big SQL!
아파치 타조"
(하이브 메타스토어 지원)
피보탈 HAWQ
SQL 인 하둡
SQL 온 하둡
10. 스팅어 계획
(Stinger Initiative)
•
차세대 하이브를 이끌기 위한 광범위한
커뮤니티 주도의 노력이다
•
•
규모: 테라~페타바이트 규모의 질의
를 다루기 위해 설계된 유일한 SQL
하둡 인터페이스
•
•
속도: 상호작용적 질의 시간(초 단위)
을 위해 하이브 질의 성능을 100배까
지 향상
SQL: 하둡을 이용하는 분석 응용을
위한 가장 다양한 범위의 SQL 구문
을 지원
이 모든 것이 하둡 내에서 이뤄진다
14. 벡터화
(Vectorization)
•
•
C1
C2
R1
R2
예를 들어 기존 날짜 관련 SQL 함수
는 복잡한 처리 논리를 담은 객체를
매 레코드마다 생성하길 반복했으나
벡터화(vectorization)로 단 한 번
만 생성하여 재사용한다.
R3
마이크로소프트 SQL 서버 개발팀에
서 설계를 주도한다. 최종욱은 시간,
문자열 자료형 관련 벡터화 부분을
설계 및 구현했다.
R7
R4
R5
R6
R8
R9
기존 실행
C3
벡터화된 실행
•
레코드 단위 처리와 달리, 컬럼 단위
로 처리한다. 객체 생성 횟수를 줄이
고 CPU 캐쉬 적중률을 높여 처리 성
능을 높인다.
C4
C5
15. 실제 적용한 최적화 기법들
•
Effective Java 2판 항목 5: 불필요한 객체의 생성을 피
하자
•
Timestamp 관련 함수들 최적화 (YEAR, MONTH, …)
•
•
연도나 월 등 단순한 필드는 객체 미생성
•
•
생성이 느린 Calendar, DateFormat 객체는 최대한
재사용
String 없이 byte 배열로 직접 접근
정규식 관련 함수들 최적화 (LIKE, RLIKE)
•
•
접미사 등 단순한 정규식은 Pattern 객체 미생성
•
String 없이 byte 배열로 직접 접근
•
•
생성이 느린 Pattern 객체는 최대한 재사용
UTF-8 디코딩 부분도 객체 생성을 최소화
이로써 해당 기능의 성능이 2~4배로 향상
16. 중간 요약
1. 하이브는 빅데이터 비즈니스 2. 하이브는 실시간 빅데이터
인텔리전스 제품 연동에 적합하다
조회 기능도 향상 중이다
17. 2. 실시간 조회
•
이메일, 채팅 등이나 유저 클릭 등의
데이터가 생성되는 동시에 저장하
고 언제든지 불러오고 싶지만. 테라
~페타 바이트 단위로 쌓이고 밀리
초~나노 초 안에 조회해야한다면?
배치 처리 위주의 하둡이 다루기 힘
든 분야다.
•
페이스북, 라인 메신저 등의 글로벌
인터넷 서비스 회사에서 부딪힌 문
제다. 금융, 의료, 보안 등의 분야도
마찬가지다.
18. NoSQL
이력서 쓰는 방법
•
•
기존의 관계형 데이터베이스로 다
루기 힘든 대용량의 자료를 실시간
으로 다루기 위해 등장한 새로운 데
이터베이스의 통칭이다. 분산 시스
템, 비정형 자료, SQL 미지원, 비정
규화, 약한 일관성 등의 특징 중 일
부를 공유한다.
몽고디비, 카우치디비, HBase, 카
산드라 등이 유명하다.
SQL 한 번이라도
써본 적 있어?
아니
상관 없어.
“NO SQL 전문가”
라고 적어
NoSQL 인기에 묻어가기
19. 아파치 HBase
•
HBase는 레코드 단위의 실시간 처
리를 제공하는 NoSQL 제품이다.
카산드라나 몽고디비 등 경쟁제품
과 달리 하둡 클러스터에서 작동한
다. 하둡의 보완재 역할을 한다.
•
페이스북과 라인 메신저 등의 성공
사례가 나왔다.
•
SQL과 다른 독자적인 질의 언어를
사용하여 프로그래머들에게 부담이
된다.
20. SQL 온 HBase
•
HBase를 SQL로 다루는 기술이
다. 하이브, 임팔라에서 기본으로 지
원하나, 단일키 등 기본적인 기능을
지원한다.
•
세일즈포스에서 피닉스(Phoenix)
를 공개했다. 복합키, 스킵 스캔, 이
차 색인 등 다양한 최적화 도입으로
성능을 높였다. 반면 고급 분석 함수
와 조인 등의 SQL 기능 구현이 부
족한 부분이 있어 이를 보완할 방법
이 필요하다.
21. 하이브-HBase 최적화 사례
•
최종욱은 하이브에서 HBase 이중
키 지원 및 질의문 최적화 기능 추가
했다.
•
주어진 질의문의 조건절을 논리합
표준형(DNF)으로 변환하고 각 조
건별 중복 범위 제거 등의 최적화 기
술을 도입하여 10GB 테이블을 대
상으로 단건 및 복수건 처리 시간을
수 분~수 시간에서 밀리 초~수 초
로 단축했다.
•
조만간 관련 내용을 하이브 본 코드
에 반영할 계획이다.
22. 변환 단계
1. 로우키와 무관한 컬럼 제거
2. 논리합 표준형으로 변환
SELECT … WHERE …
> (…AND…) OR (…AND…)
3. AND 절 별 범위 처리
(…AND…) OR (…AND…)
> (…~…) OR (…~…)
4. 전체 중복 범위 처리
5. 수행계획 SQL 변환 및 전달
(0~1000) + (4000~5000)
> (BETWEEN 0 AND 1000)
OR (BETWEEN 4000 AND 5000)
24. 요약
1. 하이브는 빅데이터 비즈니스 2. 하이브는 실시간 빅데이터
인텔리전스 제품 연동에 적합하다
조회 기능도 향상 중이다
25. 함께 볼만한 오픈소스들
"
•
•
타조(Tajo): 하이브의 맵리
듀스 등 병목구간을 제거한
분산 데이터웨어하우스. 한
국 업체인 그루터 등이 참
여.
"
올챙이(Tapole): 하이브
등 다양한 DB를 지원하는
편리한 웹 DB 클라이언트.
•
피그(Pig): 인기가 높은 하
둡 데이터 처리용 스크립트
언어.
27. 참고 자료
•
“State of the Hive Market” Simba Technologies, 2013 http://www.slideshare.net/
GeorgeChow1/2013-1028hugstateofthemarket-27709824
•
“Apache Hive and Stinger: SQL in Hadoop” Hortonworks, 2013 http://
www.slideshare.net/alanfgates/strata-stingertalk-oct2013
•
“분석 소프트웨어 실행 화면” MicroStrategy, 2013 http://www.microstrategy.com/
platforms/analytics
•
“NoSQL” Geek And Poke, 2011 http://geekandpoke.typepad.com/geekandpoke/
2011/01/nosql.html
•
“상표” 해당 상표 소유 회사 또는 단체, 2013
•
“Wild bee hive” Carly Lesser & Art, 2013 http://www.flickr.com/photos/wiredwitch/
2302523896/ under CC BY-SA 2.0
•
“Q&A” Quinn Dombrowski, 2013 http://www.flickr.com/photos/quinnanya/
4080820343/ under CC BY-SA 2.0