[Site Map]  [빅데이터분석목차]

 

연관토픽

  1. [하위] 하이브(Hive)
  2. [하위] 임팔라(Impala)
  3. [하위] Apache Tajo

 

개념

  • HDFS에 저장된 데이터를 SQL 혹은 SQL과 유사한 형태로 처리를 요청하고 분산 처리하는 시스템
  • 실시간 조회 및 처리에 대한 제약 극복하기 위한 실시간 SQL 질의 분석 기술

 

 

 

SQL On Hadoop 분류기준

(1) Interactive Query vs. Long Time Query

  • 인터랙티브 쿼리(Interactive Query)는 밀리초 혹은 수초 내에 끝낼 수 있는 Short Time Query, low latency 지원
  • Long Time Query는 쿼리를 실행하는데 오랜 시간 소요되는 쿼리

 

(2) Data Warehouse Infrastructure vs. Distributed Query Engine

  • Long Time Query 지원여부는 해당 시스템이 데이터 웨어하우스 인프라스트럭처(Data Warehouse Infrastructure)에 적합한 시스템인지, 아니면 빠른 쿼리만을 처리하기 위한 분산 쿼리 엔진(Distributed Query Engine)인지를 결정
Data Warehouse Infrastructure Distribtued Query Engine
- 수 시간 이상 걸리는 쿼리 수행하는데 최적화
- ETL 작업 : 데이터 변환 및 노이즈 제거, 파티셔닝
- 다수 데이터 소스에 대한 통합
- 애드혹 질의(ad-hoc query)
- 타조(Tajo), 하이브(Hive)
- 수초에서 수분까지 걸리는 쿼리를 수행하는데 최적화
- 빠른 응답을 가지는 애드혹 질의
- 중간 데이터 크기와 지원에 따라 질의가 다소 제약됨
- 임팔라(Impala), 프레스토(Presto)

 

 

 

Long Time Query 지원을 위한 설계 포인트

구분 설명
내고장성
(Fault Tolerance)
- 쿼리 처리 중 발생하는 오류를 처리해 완료하는 기능
- 내고장성을 지원할 경우 쿼리 처리 중간에 생성되는 데이터를 병합해야 하는데, 디스크 부하 야기 가능
- 내고장성과 시스템의 처리량은 trade-off 관계
다이나믹 스케줄링
(Dynamic Scheduling)
- 스케줄링 기법에는 고정 스케줄링(Fixed Scheduling)과 다이나믹 스케줄링(Dynamic Scheduling)
- 고정 스케줄링은 작업을 시작할 때 클러스터 노드에게 균등하게 분할된 작업 한번에 할당
- 다이나믹 스케줄링은 각 노드에 노드가 한번에 실행할 수 있는 태스크를 우선 배분하고, 노드가 할당받은 태스크가 완료되면 다시 태스크 할당

 

 

 

SQL On Hadoop 기술

구분 설명
아파치 드릴(Drill) - 하둡 전문 회사인 맵알(MapR)이 추축인 프로젝트
- 드레멜의 아키텍처와 기능을 동일하게 구현한 오픈 소스 버전의 드레멜
아파치 스팅거(Stinger) - 하둡 전문 회사인 호튼웍스에서 개발을 주도하고 있으며, 기존의 하이브 코드를 최대한 이용하여 성능을 개선하는 식으로 개발이 진행되고 있음
샤크(Shark) - 인메모리 기반의 대용량 데이터웨어하우스 시스템이며, 하이브와 호환되기 때문에 하이브 SQL 질의와 사용자 정의 함수를 사용할 수 있음
아파치 타조(Tajo) - 고려대 대학원에서 시작된 프로젝트로 국내 빅데이터 전문회사인 그루터(Gruter)가 합류하여 개발을 진행하고 있고, 아파치 인큐베이션 프로젝트로 등록되어 있음
임팔라(Impala) - 하둡 전문 회사인 클라우데라(Cloudera)에서 개발을 주도 하고 있음
호크(HAWQ) - EMC에서 분사한 하둡 전문 회사인 피보탈(Pivotal)에서 개발한 프로젝트로 상용과 커뮤니티의 2가지 버전 제공
프레스토 - 페이스북에서 자체적으로 개발하여 사용하고 있는 하둡기반 데이터웨어 하우징 엔진(아파치 라이선스)

 

 

 

SQL On Haoop 기술비교(Tajo vs. Impala vs. Hive vs. Presto)

구분 Fault Tolerance Dynamic Scheduling Long Time Query Low Latency
Tajo(타조) O O O O
Impala(임팔라) X X X O
Hive(하이브) O O O O
Presto(프로스토) X X X O

 

 

 

Reference


  1. SQL-On-Hadoop(SQL-온-하둡) 개념 및 종류

 

 

 

 

 

 

 

 

+ Recent posts