SlideShare ist ein Scribd-Unternehmen logo
1 von 40
SQL-on-Hadoop with Apache Tajo,
and application case of SK Telecom

정재화 책임 / 그루터
About me
• 그루터 책임 개발자 & 아파치 타조 커미터
• 전) 큐릭스, NHN, 엔씨소프트
• E-mail: jhjung@gruter.com
• Homepage: http://blrunner.com
• Twitter: @blrunner78
• 저서: 시작하세요!하둡 프로그래밍 (위키북스)
CONTENTS
1. Hadoop & MapReduce

2. SQL-On-Hadoop
3. Apache Tajo
1. Hadoop & MapReduce
1.1 Hadoop
대규모 데이터의 분산처리를 위한 오픈 소스 프레임워크
 HDFS(데이터 저장) + MapReduce(분산 처리)
• 유연성
- 다양한 데이터 포맷 지원 (구조적, 비구조적 데이터, 텍스트)
- 범용 프로그래밍 언어를 이용하여 다양한 알고리즘 적용 가능
• 확장성
- 노드 증가에 따른 선형적인 (성능, 용량) 확장 가능
• 비용
- 다수의 범용 서버 클러스터에서 동작하도록 설계
- 노드 증가를 통한 용량 증설 및 처리 성능 향상 비용이 저렴
1.2 MapReduce 동작방식
k v

map

k v

k v

k v

k v

Sorted key-value pairs

k v
k v v v v
k v

reduce

k v

map

k v

k v

k v

k v

Sorted key-value pairs

k v
k v v
k v

k v

map

k v

k v

k v

Sorted key-value pairs

k v v v v
k v

reduce

k v

map

k v

k v

k v

Sorted key-value pairs

input

map
function

sort

k v
k v v
k v

hash partition

sort and merge

reduce
function
1.3 기존 MapReduce 기반 분석 시스템
• Hive: 하둡 기반의 DW 시스템
- HiveQL지원 (SQL과 유사)
- HiveQL을 MapReduce로 변환해서 질의 수행
- 쉽고, 편리함
- 높은 반응 시간 (High Latency)
• Pig: MapReduce용 프로그래밍 및 데이터 플로우 인터페이스
- 스크립트언어인 PigLatin 지원
- PigLatin을 MapReduce로 변환해서 질의 수행
1.4 MapReduce의 문제점
• Map과 Reduce간의 셔플의 한계 :

merge sort  hashing  merge sort
- 관계형 데이터 베이스에 부적합
- Job간의 데이터 교환 오버헤드
Job 1

write

read

HDFS

-고정된 데이터 흐름

write
Job 2

HDFS

read

Job 3
1.5 Hive 의 문제점
• 높은 지연 시간
- MapReduce Job별 5~15초에 달하는 시동 시간
• SQL 표준 미지원
-SQL과 유사하지만 많은 부분이 상이함
1.5 Hive 의 문제점
• 낮은 노드당 처리 성능
- 튜플(Tuple) 단위 처리 모델
SELECT Emp.name AS employee, bonus =
(Emp.age - 30) * 50

Departments.name AS dep_name,Mng.name AS
dep_manager,
FROM Employees AS Emp
JOIN Departments ON Emp.dept_id =

Departments.id
JOIN Employees AS Mng ON Mng.id =
Departments.mngr_id
WHERE Emp.age > 30
1.5 Hive 의 문제점
• 셔플로 인한 오버헤드
- 중간 데이터 materialization
- Pull 방식으로 인한 Random Access

* 이미지 출처: http://kb.sandisk.com/euf/assets/images/faqs/8150/id8150_Random_vs_sequential_access.png
2. SQL-on-Hadoop
2.1 SQL-on-Hadoop 이란?
Hadoop 기반의 차세대 분석 엔진을 지칭
• SQL 표준 지원
- 기존 시스템과 통합 또는 대체 용이
• 높은 처리 성능
-MapReduce의 한계를 극복하는 분산 처리 프레임워크
- CPU와 메모리를 보다 잘 활용하는 처리 방식
• 낮은 반응 시간 (low latency)

- 100 msec ~
2.2 왜 SQL-on-Hadoop 인가?
• Needs의 변화
- 과거에는 투자대비 저렴한 가격으로 대용량 데이터 처리에 만족
 보다 높은 처리 성능 및 빠른 반응 요구

- 지속적인 서버증설에 대한 비용 및 관리 부담 증가
- Ad-hoc질의를 위한 DB 병행 사용 불만
• 대화형 질의 (Interactive Query)

- 데이터 분석: 질의  결과 분석과 사고  질의
 시스템의 빠른 반응 속도가 데이터 분석의 생산성
- 빠른 의사 결정 가능
2.2 왜 SQL-on-Hadoop 인가?
• 성능 보장 및 사람에 의한 오류 방지
- MapReduce 프로그래밍
- 개발자 역량에 의존적

- 버그 가능성 높음
- 질의 언어
- 적절한 성능은 시스템이 보장
- 버그 가능성 낮음
2.3 SQL-on-Hadoop 솔루션
• Impala
- Low latency 질의 처리에 특화된 설계
- Block-at-a-time 방식 엔진

- 고성을 위한 C++ 적용, SIMD와 LLVM을 이용한 String 처리
- 인메모리 구조로 인한 결과 값이 큰 데이터 처리에 한계
- 소스는 Open, 참여는 Closed
• Stinger
- Hive 기반 시스템
- Vectorized 엔진 도입으로 기존 튜플 단위 처리 엔진 대체 작업 중
- Tez (apache incubating): MapReduce 대체
3. Apache Tajo
3.1 Tajo란?
Hadoop 기반의 DW 시스템이며, HDFS 및 다양한 소스의
대용량 데이터에 대한 ETL, 집계, 연산, 조인, 정렬 제공
• 호환성

- 표준 SQL 지원, UDF 지원
- JDBC, ODBC (추후 계획)
• 고성능 및 낮은 반응 시간
- 유연하고 효율적인 분산 처리 엔진
- 비용 기반 최적화 엔진 (cost-based optimization)
- JIT Query Compliation 및 Vectorized 질의 엔진
• 오픈 소스 (http://tajo.incubator.apache.org)

- 소스도, 참여도 모두 Open
3.2 Tajo 설계 동기
레거시 시스템에서 얻은 교훈 및 중요 우선 순위
• 잘못된 질의 계획에 대한 최적화
- 잘못된 질의 계획은 수 분짜리 질의를 수 시간이 걸리게 할 수 있음

• 분산 처리 프레임워크
- Map/Reduce 태스크 시작 오버헤드 (노드당 낮은 처리량)
- 각 태스크당 수십 msec ~ 1초 이상 소요
- 64MB 데이터 기준 task 처리 속도는 1초
- 중간 데이터 전달 부하가 분산 처리의 주 병목 지점
- Pull 방식으로 인하여 네트워크 대역폭 활용도 낮음
- 고정된 Map, Reduce 단계, Hash Shuffle로 인한 최적화 기회 감소
3.2 Tajo 설계 동기
• 워커 레벨의 데이터 처리 엔진
- 낮은 처리 성능
- CPU-friendly 하지 않은 구현

- Scale-up에 대한 교려가 거의 없음
• 하드웨어의 발전
- Many Cores
- 단일 범용 서버가 8 ~ 24 코어 보유
- 빠른 스토리지
- 향후 3~5년 내 SSD 서버 스토리지가 대중화 예상
- SSD의 순차 읽기 속도: 500 ~ 1500MB/S
3.2 Tajo 설계 동기
- CPU Core 당 처리 속도 2GB/s
- Disk I/O  CPU 병목 예상
• SIMD (Sing Instruction Multiple Data) 의 발전

- 최신 CPU들은 String 비교나 Hashing을 위한 명령어까지 제공
- 단일 명령어 처리 데이터 증가 (향후 256bit  1024 bit)

이미지 출처 http://origin.arstechnica.com/cpu/1q00/simd/figure6.gif
3.3 Tajo 아키텍처
• Master-Worker 모델
- RPC 기반: Protocol Buffer, Netty, Boost ASIO
• Tajo Master

- 클라이언트 및 어플리케이션 요청 처리
- 카탈로그 서버
- 테이블 스키마, 물리적인 정보, 각종 통계
- JDBC 이용 외부 RDBMS를 저장소로 사용
- Query 파서, 플래너, 최적화, 클러스터 자원 관리, Query Master 관리
3.3 Tajo 아키텍처
• Query Master
- 질의별 동작
- Execution Block (질의 실행 단계) 제어

- 태스크 스케쥴링
• Tajo Worker
- 스토리지 매니저
- 로컬 질의 엔진
- 기존 자바 구현 모듈을 C++로 대체 중
3.3 Tajo 아키텍처
Hive Meta
Database
Hive
Catalog
TajoCli

TajoClient

Catalog
Database
TajoMaster

Catalog
Server

TajoWorker

HCatalog
Interface

TajoMaster
Client
Protocol
Service
(Netty)

Logical
Planner
Global
Planner

YARN
ResourceManager

Tajo
ResourceManager
Resource
Manager
(자체)

YARN
RM
Proxy

QueryMaster
Manager
QueryMaster
Manager
ProtocolService
(Netty)

TajoWorker
TajoWorker
TajoWorker Query
Physical
Engine
TajoWorker
Planner
Vectorized
Engine

QueryMaster
Query
Master
Client
Protocol
Service
(netty)

Query
Master
Protocol
Service
(netty)

Storage
Manager
File
Reader/
Writer

YARN
NodeManager

DataNode
3.4 질의 계획 및 최적화 엔진
• 비용 기반 최적화 (Cost-based optimization)
- 시스템이 최적의 조인 순서를 탐색 및 선택
- 사용자에게 의존하지 않음

• 확장 가능한 Rewrite Rule 엔진
- 기존 상용 DB 수준의 다양한 Rewrite rule로 확장 가능
• 적응형 최적화 (Progressive query reoptimization)
- 질의 실행 시간에 통계 정보를 기반으로 질의의 남은 부분 최적화
- 나쁜 질의 계획 회피 가능
3.5 데이터 셔플(Shuffle) 매커니즘
• 데이터 Shuffle 방법
- Hash
- 노드들에게 할당된 hash key 값에 만족하도록 데이터 재분배

- Range
- 노드들에게 할당된 값 범위에 만족하도록 데이터 재분배
3.5 데이터 셔플(Shuffle) 매커니즘
• 데이터 전송 방법
- Pull
- 중간 데이터를 저장하고 다른 워커가 끌어가는 방식
- 데이터에 비해 자원이 충분치 않아 단계별 데이터 처리 시 이용

- Push
- 중간 데이터의 디스크 저장 없이 데이터를 다른 워커에게 전송
- 자원이 충분하고 여러 데이터 처리를 동시에 파이프 라이닝이
가능할 때 사용
3.6 분산 질의 수행 플랜

(A join-groupby-sort query plan)

(A distributed query execution plan)

select col1, sum(col2) as total, avg(col3) as average from
r1, r2
where r1.col1 = r2.col2 group by col1 order by average;
3.7 Vectorized Engine
• 칼럼 방식으로 데이터 처리
• 데이터를 CPU 캐시 크기에 맞춘 Vector들로 유지
• Vector 단위 (원시 타입 배열) 데이터 처리
• 각 Vector 마다 작은 loop를 반복하여 데이터 처리
• CPU 파이프 라이닝 향상, SIMD 적용 가능, 높은 CPU 캐시 적중률
3.7 Vectorized Engine
aggregation
primitives

multiaggr_max
multiaggr_sum

Filter
filter
primitives

sel_<
sel_>
Projection

groupids
map_hash

vector chunk 0

vector chunk 1

vector chunk 2
customer

quantity

shipdate
Table columns

extprice

tax
3.8 JIT (Just In Time) 코드 생성기
• LLVM: 프로그래밍 언어 컴파일러 집합으로, 컴파일 시간이나 런타임 시
간 등 다양한 상황에서 최적화를 쉽게 구현할 있도록 구성
• 질의 처리를 위한 주요 primitive를 미리 만들지 않고, LLVM을 이용해 런

타임에 실시간으로 생성
- 각 머신 별 최적화된 코드 생성 가능
- 인터프리트 오버헤드 제거

참고 문헌: http://ko.wikipedia.org/wiki/LLVM
3.8 JIT (Just In Time) 코드 생성기

SCAN

const float vec_num = 1000;
float l_extended_price[vec_num], l_discount[vec_num]
long l_shipdate[vec_num], l_quantity[vec_num]
int selected[vec_num];
date date1 = date(“1994-01-01”);
date date2 = date(“1995-01-01”);
float val1 = 0.05; val2= 0.07;
double output1[vec_num];
double output2[vec_num];
do {
fetch_vectors(l_extended_price, l_discount, l_shipdate,
l_quantity);

FILTER

GROUP
BY

bool_geq_date_col_date_val(l_ship_date, date1, selected);
bool_lt_date_col_date_val(l_ship_date, date2, selected);
bool_geq_float_col_float_val(l_discount, 0.05, selected);
bool_lt_float_col_float_val(l_discount, 0.07, selected);
bool_gt_float_col_float_val(l_quantity, 24, selected);
map_mul_float_col_float_col(output1, l_discount,
l_quantity, selected);
agg_sum_float(output2, output1, selected);
write_outputbuffer(output2);
} while (hasNext());

Output

An example of runtime generated physical execution plan
3.9 로드맵
• 2013.10월 : Apache Tajo 0.2 Release
- 차세대 분산 처리 엔진
- 기존 Java 기반 처리 엔진

- 대부분의 표준 SQL 지원
- HiveQL 모드 지원
- Query Rewrite Rule 엔진 탑재 + 기본 Rewrite Rule
• 2014.1 월: Apache Tajo 1.0 Release
- 다수 Rewrite Rule 탑재
- Cost-based Optimization
- Adaptive Query Reoptimization

- JIT Query Compliation & Vectorized Engine
3.10 벤치마크 테스트
• Tajo Java 엔진 버전, Impala 0.7, Hive 0.10
• 테스트 환경
- 데이터: 100GB TPC-H Data Set

- 클러스터: 5 Cluster Nodes
- CPU: Intel i5
- 메모리:16GB Memory
- HDD: 2TB HDD x 5
- 네트워크: 1G Ethernet
- Hadoop 버전: Hadoop 2.0.2-alpha
3.10 벤치마크 테스트
• Q1
SELECT L_RETURNFLAG, L_LINESTATUS, SUM(L_QUANTITY) AS SUM_QTY

, SUM(L_EXTENDEDPRICE) AS SUM_BASE_PRICE
, SUM(L_EXTENDEDPRICE*(1-L_DISCOUNT)) AS SUM_DISC_PRICE
, SUM(L_EXTENDEDPRICE*(1-L_DISCOUNT)*(1+L_TAX)) AS SUM_CHARGE
, AVG(L_QUANTITY) AS AVG_QTY, AVG(L_EXTENDEDPRICE) AS AVG_PRICE

, AVG(L_DISCOUNT) AS AVG_DISC, COUNT(*) AS COUNT_ORDER
FROM LINEITEM
WHERE L_SHIPDATE <= dateadd(dd, -90, cast('1998-12-01' as date))
GROUP BY L_RETURNFLAG, L_LINESTATUS
ORDER BY L_RETURNFLAG,L_LINESTATUS

TAJO

Impala

Hive

112 sec

89 sec

X
3.10 벤치마크 테스트
• Q3
SELECT TOP 10 L_ORDERKEY, SUM(L_EXTENDEDPRICE*(1-L_DISCOUNT)) AS REVENUE

, O_ORDERDATE, O_SHIPPRIORITY
FROM CUSTOMER, ORDERS, LINEITEM
WHERE C_MKTSEGMENT = 'BUILDING'
AND C_CUSTKEY = O_CUSTKEY AND L_ORDERKEY = O_ORDERKEY

AND O_ORDERDATE < '1995-03-15' AND L_SHIPDATE > '1995-03-15'
GROUP BY L_ORDERKEY, O_ORDERDATE, O_SHIPPRIORITY
ORDER BY REVENUE DESC, O_ORDERDATE

TAJO

Impala

Hive

330 sec

414 sec

827 sec
3.10 벤치마크 테스트
• Q6
SELECT SUM(L_EXTENDEDPRICE*L_DISCOUNT) AS REVENUE

FROM LINEITEM
WHERE L_SHIPDATE >= '1994-01-01'
AND L_SHIPDATE < dateadd(yy, 1, cast('1994-01-01' as date))
AND L_DISCOUNT BETWEEN .06 - 0.01 AND .06 + 0.01 AND L_QUANTITY < 24

TAJO

Impala

Hive

121 sec

141 sec

346 sec
3.11 How to join Tajo
• Tajo Home: http://tajo.incubator.apache.org/
• Tajo JIRA: https://issues.apache.org/jira/browse/TAJO
• mailing-list: dev-subscribe@tajo.incubator.apache.org

• GitHub: https://github.com/apache/incubator-tajo
• 한국 사용자 모임: https://groups.google.com/forum/#!forum/tajo-user-kr
Q&A
THANK YOU

Weitere ähnliche Inhalte

Was ist angesagt?

Hadoop 제주대
Hadoop 제주대Hadoop 제주대
Hadoop 제주대DaeHeon Oh
 
Hadoop과 SQL-on-Hadoop (A short intro to Hadoop and SQL-on-Hadoop)
Hadoop과 SQL-on-Hadoop (A short intro to Hadoop and SQL-on-Hadoop)Hadoop과 SQL-on-Hadoop (A short intro to Hadoop and SQL-on-Hadoop)
Hadoop과 SQL-on-Hadoop (A short intro to Hadoop and SQL-on-Hadoop)Matthew (정재화)
 
Big data analysis with R and Apache Tajo (in Korean)
Big data analysis with R and Apache Tajo (in Korean)Big data analysis with R and Apache Tajo (in Korean)
Big data analysis with R and Apache Tajo (in Korean)Gruter
 
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: 인터넷 쇼핑몰의 실시간 분석 플랫폼 구축 사례
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: 인터넷 쇼핑몰의 실시간 분석 플랫폼 구축 사례GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: 인터넷 쇼핑몰의 실시간 분석 플랫폼 구축 사례
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: 인터넷 쇼핑몰의 실시간 분석 플랫폼 구축 사례Gruter
 
DeView2013 Big Data Platform Architecture with Hadoop - Hyeong-jun Kim
DeView2013 Big Data Platform Architecture with Hadoop - Hyeong-jun KimDeView2013 Big Data Platform Architecture with Hadoop - Hyeong-jun Kim
DeView2013 Big Data Platform Architecture with Hadoop - Hyeong-jun KimGruter
 
빅데이터 구축 사례
빅데이터 구축 사례빅데이터 구축 사례
빅데이터 구축 사례Taehyeon Oh
 
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: SNS 서비스 아키텍쳐 구축 사례
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: SNS 서비스 아키텍쳐 구축 사례GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: SNS 서비스 아키텍쳐 구축 사례
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: SNS 서비스 아키텍쳐 구축 사례Gruter
 
Gruter TECHDAY 2014 MelOn BigData
Gruter TECHDAY 2014 MelOn BigDataGruter TECHDAY 2014 MelOn BigData
Gruter TECHDAY 2014 MelOn BigDataGruter
 
하둡 알아보기(Learn about Hadoop basic), NetApp FAS NFS Connector for Hadoop
하둡 알아보기(Learn about Hadoop basic), NetApp FAS NFS Connector for Hadoop하둡 알아보기(Learn about Hadoop basic), NetApp FAS NFS Connector for Hadoop
하둡 알아보기(Learn about Hadoop basic), NetApp FAS NFS Connector for HadoopSeungYong Baek
 
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: GRUTER의 빅데이터 플랫폼 및 전략 소개
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: GRUTER의 빅데이터 플랫폼 및 전략 소개GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: GRUTER의 빅데이터 플랫폼 및 전략 소개
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: GRUTER의 빅데이터 플랫폼 및 전략 소개Gruter
 
Data analysis with Tajo
Data analysis with TajoData analysis with Tajo
Data analysis with TajoGruter
 
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: 보안 로그 분석을 위한 빅데이터 시스템 구축 사례
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: 보안 로그 분석을 위한 빅데이터 시스템 구축 사례GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: 보안 로그 분석을 위한 빅데이터 시스템 구축 사례
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: 보안 로그 분석을 위한 빅데이터 시스템 구축 사례Gruter
 
SQL-on-Hadoop 그리고 Tajo - Tech Planet 2013
SQL-on-Hadoop 그리고 Tajo - Tech Planet 2013SQL-on-Hadoop 그리고 Tajo - Tech Planet 2013
SQL-on-Hadoop 그리고 Tajo - Tech Planet 2013Hyunsik Choi
 
Realtime Big data Anaytics and Exampes of Daum (2013)
Realtime Big data Anaytics and Exampes of Daum (2013)Realtime Big data Anaytics and Exampes of Daum (2013)
Realtime Big data Anaytics and Exampes of Daum (2013)Channy Yun
 
서울 하둡 사용자 모임 발표자료
서울 하둡 사용자 모임 발표자료서울 하둡 사용자 모임 발표자료
서울 하둡 사용자 모임 발표자료Teddy Choi
 
Daum내부 Hadoop 활용 사례 | Devon 2012
Daum내부 Hadoop 활용 사례 | Devon 2012Daum내부 Hadoop 활용 사례 | Devon 2012
Daum내부 Hadoop 활용 사례 | Devon 2012Daum DNA
 
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: Bioinformatics Data를 위한 Hadoop기반...
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: Bioinformatics Data를 위한 Hadoop기반...GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: Bioinformatics Data를 위한 Hadoop기반...
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: Bioinformatics Data를 위한 Hadoop기반...Gruter
 
Hadoop Introduction (1.0)
Hadoop Introduction (1.0)Hadoop Introduction (1.0)
Hadoop Introduction (1.0)Keeyong Han
 

Was ist angesagt? (20)

Hadoop 제주대
Hadoop 제주대Hadoop 제주대
Hadoop 제주대
 
Hadoop과 SQL-on-Hadoop (A short intro to Hadoop and SQL-on-Hadoop)
Hadoop과 SQL-on-Hadoop (A short intro to Hadoop and SQL-on-Hadoop)Hadoop과 SQL-on-Hadoop (A short intro to Hadoop and SQL-on-Hadoop)
Hadoop과 SQL-on-Hadoop (A short intro to Hadoop and SQL-on-Hadoop)
 
Big data analysis with R and Apache Tajo (in Korean)
Big data analysis with R and Apache Tajo (in Korean)Big data analysis with R and Apache Tajo (in Korean)
Big data analysis with R and Apache Tajo (in Korean)
 
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: 인터넷 쇼핑몰의 실시간 분석 플랫폼 구축 사례
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: 인터넷 쇼핑몰의 실시간 분석 플랫폼 구축 사례GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: 인터넷 쇼핑몰의 실시간 분석 플랫폼 구축 사례
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: 인터넷 쇼핑몰의 실시간 분석 플랫폼 구축 사례
 
DeView2013 Big Data Platform Architecture with Hadoop - Hyeong-jun Kim
DeView2013 Big Data Platform Architecture with Hadoop - Hyeong-jun KimDeView2013 Big Data Platform Architecture with Hadoop - Hyeong-jun Kim
DeView2013 Big Data Platform Architecture with Hadoop - Hyeong-jun Kim
 
빅데이터 구축 사례
빅데이터 구축 사례빅데이터 구축 사례
빅데이터 구축 사례
 
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: SNS 서비스 아키텍쳐 구축 사례
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: SNS 서비스 아키텍쳐 구축 사례GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: SNS 서비스 아키텍쳐 구축 사례
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: SNS 서비스 아키텍쳐 구축 사례
 
Gruter TECHDAY 2014 MelOn BigData
Gruter TECHDAY 2014 MelOn BigDataGruter TECHDAY 2014 MelOn BigData
Gruter TECHDAY 2014 MelOn BigData
 
하둡 알아보기(Learn about Hadoop basic), NetApp FAS NFS Connector for Hadoop
하둡 알아보기(Learn about Hadoop basic), NetApp FAS NFS Connector for Hadoop하둡 알아보기(Learn about Hadoop basic), NetApp FAS NFS Connector for Hadoop
하둡 알아보기(Learn about Hadoop basic), NetApp FAS NFS Connector for Hadoop
 
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: GRUTER의 빅데이터 플랫폼 및 전략 소개
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: GRUTER의 빅데이터 플랫폼 및 전략 소개GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: GRUTER의 빅데이터 플랫폼 및 전략 소개
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: GRUTER의 빅데이터 플랫폼 및 전략 소개
 
Data analysis with Tajo
Data analysis with TajoData analysis with Tajo
Data analysis with Tajo
 
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: 보안 로그 분석을 위한 빅데이터 시스템 구축 사례
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: 보안 로그 분석을 위한 빅데이터 시스템 구축 사례GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: 보안 로그 분석을 위한 빅데이터 시스템 구축 사례
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: 보안 로그 분석을 위한 빅데이터 시스템 구축 사례
 
SQL-on-Hadoop 그리고 Tajo - Tech Planet 2013
SQL-on-Hadoop 그리고 Tajo - Tech Planet 2013SQL-on-Hadoop 그리고 Tajo - Tech Planet 2013
SQL-on-Hadoop 그리고 Tajo - Tech Planet 2013
 
HDFS Overview
HDFS OverviewHDFS Overview
HDFS Overview
 
Realtime Big data Anaytics and Exampes of Daum (2013)
Realtime Big data Anaytics and Exampes of Daum (2013)Realtime Big data Anaytics and Exampes of Daum (2013)
Realtime Big data Anaytics and Exampes of Daum (2013)
 
서울 하둡 사용자 모임 발표자료
서울 하둡 사용자 모임 발표자료서울 하둡 사용자 모임 발표자료
서울 하둡 사용자 모임 발표자료
 
Hadoop overview
Hadoop overviewHadoop overview
Hadoop overview
 
Daum내부 Hadoop 활용 사례 | Devon 2012
Daum내부 Hadoop 활용 사례 | Devon 2012Daum내부 Hadoop 활용 사례 | Devon 2012
Daum내부 Hadoop 활용 사례 | Devon 2012
 
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: Bioinformatics Data를 위한 Hadoop기반...
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: Bioinformatics Data를 위한 Hadoop기반...GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: Bioinformatics Data를 위한 Hadoop기반...
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: Bioinformatics Data를 위한 Hadoop기반...
 
Hadoop Introduction (1.0)
Hadoop Introduction (1.0)Hadoop Introduction (1.0)
Hadoop Introduction (1.0)
 

Andere mochten auch

SW1차 프로젝트 Hive 최종발표
SW1차 프로젝트 Hive 최종발표SW1차 프로젝트 Hive 최종발표
SW1차 프로젝트 Hive 최종발표Sinhyub Kim
 
Performance evaluation of apache tajo
Performance evaluation of apache tajoPerformance evaluation of apache tajo
Performance evaluation of apache tajoJihoon Son
 
Introduction to Apache Tajo: Data Warehouse for Big Data
Introduction to Apache Tajo: Data Warehouse for Big DataIntroduction to Apache Tajo: Data Warehouse for Big Data
Introduction to Apache Tajo: Data Warehouse for Big DataJihoon Son
 
Apache Hive: for business intelligence use and real-time I/O use (Korean)
Apache Hive: for business intelligence use and real-time I/O use (Korean)Apache Hive: for business intelligence use and real-time I/O use (Korean)
Apache Hive: for business intelligence use and real-time I/O use (Korean)Teddy Choi
 
하이브 최적화 방안
하이브 최적화 방안하이브 최적화 방안
하이브 최적화 방안Teddy Choi
 
하둡완벽가이드 Ch9
하둡완벽가이드 Ch9하둡완벽가이드 Ch9
하둡완벽가이드 Ch9HyeonSeok Choi
 
201210 그루터 빅데이터_플랫폼_아키텍쳐_및_솔루션_소개
201210 그루터 빅데이터_플랫폼_아키텍쳐_및_솔루션_소개201210 그루터 빅데이터_플랫폼_아키텍쳐_및_솔루션_소개
201210 그루터 빅데이터_플랫폼_아키텍쳐_및_솔루션_소개Gruter
 
about hadoop yes
about hadoop yesabout hadoop yes
about hadoop yesEunsil Yoon
 
지금 핫한 Real-time In-memory Stream Processing 이야기
지금 핫한 Real-time In-memory Stream Processing 이야기지금 핫한 Real-time In-memory Stream Processing 이야기
지금 핫한 Real-time In-memory Stream Processing 이야기Ted Won
 

Andere mochten auch (12)

SW1차 프로젝트 Hive 최종발표
SW1차 프로젝트 Hive 최종발표SW1차 프로젝트 Hive 최종발표
SW1차 프로젝트 Hive 최종발표
 
Performance evaluation of apache tajo
Performance evaluation of apache tajoPerformance evaluation of apache tajo
Performance evaluation of apache tajo
 
Introduction to Apache Tajo: Data Warehouse for Big Data
Introduction to Apache Tajo: Data Warehouse for Big DataIntroduction to Apache Tajo: Data Warehouse for Big Data
Introduction to Apache Tajo: Data Warehouse for Big Data
 
Apache Hive: for business intelligence use and real-time I/O use (Korean)
Apache Hive: for business intelligence use and real-time I/O use (Korean)Apache Hive: for business intelligence use and real-time I/O use (Korean)
Apache Hive: for business intelligence use and real-time I/O use (Korean)
 
하이브 최적화 방안
하이브 최적화 방안하이브 최적화 방안
하이브 최적화 방안
 
Incredible Impala
Incredible Impala Incredible Impala
Incredible Impala
 
하둡완벽가이드 Ch9
하둡완벽가이드 Ch9하둡완벽가이드 Ch9
하둡완벽가이드 Ch9
 
Apache hive
Apache hiveApache hive
Apache hive
 
201210 그루터 빅데이터_플랫폼_아키텍쳐_및_솔루션_소개
201210 그루터 빅데이터_플랫폼_아키텍쳐_및_솔루션_소개201210 그루터 빅데이터_플랫폼_아키텍쳐_및_솔루션_소개
201210 그루터 빅데이터_플랫폼_아키텍쳐_및_솔루션_소개
 
about hadoop yes
about hadoop yesabout hadoop yes
about hadoop yes
 
지금 핫한 Real-time In-memory Stream Processing 이야기
지금 핫한 Real-time In-memory Stream Processing 이야기지금 핫한 Real-time In-memory Stream Processing 이야기
지금 핫한 Real-time In-memory Stream Processing 이야기
 
Cloudera impala
Cloudera impalaCloudera impala
Cloudera impala
 

Ähnlich wie SQL-on-Hadoop with Apache Tajo, and application case of SK Telecom

Expanding Your Data Warehouse with Tajo
Expanding Your Data Warehouse with TajoExpanding Your Data Warehouse with Tajo
Expanding Your Data Warehouse with TajoGruter
 
빅데이터, big data
빅데이터, big data빅데이터, big data
빅데이터, big dataH K Yoon
 
Apache kafka performance(throughput) - without data loss and guaranteeing dat...
Apache kafka performance(throughput) - without data loss and guaranteeing dat...Apache kafka performance(throughput) - without data loss and guaranteeing dat...
Apache kafka performance(throughput) - without data loss and guaranteeing dat...SANG WON PARK
 
google dinos
google dinosgoogle dinos
google dinosjuhyun
 
빅데이터 기술 현황과 시장 전망(2014)
빅데이터 기술 현황과 시장 전망(2014)빅데이터 기술 현황과 시장 전망(2014)
빅데이터 기술 현황과 시장 전망(2014)Channy Yun
 
Cloudera Impala 1.0
Cloudera Impala 1.0Cloudera Impala 1.0
Cloudera Impala 1.0Minwoo Kim
 
SQream DB, GPU-accelerated data warehouse
SQream DB, GPU-accelerated data warehouseSQream DB, GPU-accelerated data warehouse
SQream DB, GPU-accelerated data warehouseNAVER Engineering
 
AWS EMR Cost optimization
AWS EMR Cost optimizationAWS EMR Cost optimization
AWS EMR Cost optimizationSANG WON PARK
 
5일차.map reduce 활용
5일차.map reduce 활용5일차.map reduce 활용
5일차.map reduce 활용주영 송
 
[D2 COMMUNITY] Spark User Group - 스파크를 통한 딥러닝 이론과 실제
[D2 COMMUNITY] Spark User Group - 스파크를 통한 딥러닝 이론과 실제[D2 COMMUNITY] Spark User Group - 스파크를 통한 딥러닝 이론과 실제
[D2 COMMUNITY] Spark User Group - 스파크를 통한 딥러닝 이론과 실제NAVER D2
 
초초초 (초고속 초저지연 초연결) 5G IoT 플랫폼 개발 이야기
초초초 (초고속 초저지연 초연결) 5G IoT 플랫폼 개발 이야기초초초 (초고속 초저지연 초연결) 5G IoT 플랫폼 개발 이야기
초초초 (초고속 초저지연 초연결) 5G IoT 플랫폼 개발 이야기ksdc2019
 
[pgday.Seoul 2022] PostgreSQL구조 - 윤성재
[pgday.Seoul 2022] PostgreSQL구조 - 윤성재[pgday.Seoul 2022] PostgreSQL구조 - 윤성재
[pgday.Seoul 2022] PostgreSQL구조 - 윤성재PgDay.Seoul
 
Node.js를 사용한 Big Data 사례연구
Node.js를 사용한 Big Data 사례연구Node.js를 사용한 Big Data 사례연구
Node.js를 사용한 Big Data 사례연구ByungJoon Lee
 
Lablupconf session7 People don't know what they want until LABLUP show it to ...
Lablupconf session7 People don't know what they want until LABLUP show it to ...Lablupconf session7 People don't know what they want until LABLUP show it to ...
Lablupconf session7 People don't know what they want until LABLUP show it to ...Lablup Inc.
 
Apache Htrace overview (20160520)
Apache Htrace overview (20160520)Apache Htrace overview (20160520)
Apache Htrace overview (20160520)Steve Min
 
[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4
[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4
[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4Seok-joon Yun
 
3.[d2 오픈세미나]분산시스템 개발 및 교훈 n base arc
3.[d2 오픈세미나]분산시스템 개발 및 교훈 n base arc3.[d2 오픈세미나]분산시스템 개발 및 교훈 n base arc
3.[d2 오픈세미나]분산시스템 개발 및 교훈 n base arcNAVER D2
 
쓰레드.pdf
쓰레드.pdf쓰레드.pdf
쓰레드.pdfSeokju Hong
 

Ähnlich wie SQL-on-Hadoop with Apache Tajo, and application case of SK Telecom (20)

Warp
WarpWarp
Warp
 
Expanding Your Data Warehouse with Tajo
Expanding Your Data Warehouse with TajoExpanding Your Data Warehouse with Tajo
Expanding Your Data Warehouse with Tajo
 
Kubernetes
Kubernetes Kubernetes
Kubernetes
 
빅데이터, big data
빅데이터, big data빅데이터, big data
빅데이터, big data
 
Apache kafka performance(throughput) - without data loss and guaranteeing dat...
Apache kafka performance(throughput) - without data loss and guaranteeing dat...Apache kafka performance(throughput) - without data loss and guaranteeing dat...
Apache kafka performance(throughput) - without data loss and guaranteeing dat...
 
google dinos
google dinosgoogle dinos
google dinos
 
빅데이터 기술 현황과 시장 전망(2014)
빅데이터 기술 현황과 시장 전망(2014)빅데이터 기술 현황과 시장 전망(2014)
빅데이터 기술 현황과 시장 전망(2014)
 
Cloudera Impala 1.0
Cloudera Impala 1.0Cloudera Impala 1.0
Cloudera Impala 1.0
 
SQream DB, GPU-accelerated data warehouse
SQream DB, GPU-accelerated data warehouseSQream DB, GPU-accelerated data warehouse
SQream DB, GPU-accelerated data warehouse
 
AWS EMR Cost optimization
AWS EMR Cost optimizationAWS EMR Cost optimization
AWS EMR Cost optimization
 
5일차.map reduce 활용
5일차.map reduce 활용5일차.map reduce 활용
5일차.map reduce 활용
 
[D2 COMMUNITY] Spark User Group - 스파크를 통한 딥러닝 이론과 실제
[D2 COMMUNITY] Spark User Group - 스파크를 통한 딥러닝 이론과 실제[D2 COMMUNITY] Spark User Group - 스파크를 통한 딥러닝 이론과 실제
[D2 COMMUNITY] Spark User Group - 스파크를 통한 딥러닝 이론과 실제
 
초초초 (초고속 초저지연 초연결) 5G IoT 플랫폼 개발 이야기
초초초 (초고속 초저지연 초연결) 5G IoT 플랫폼 개발 이야기초초초 (초고속 초저지연 초연결) 5G IoT 플랫폼 개발 이야기
초초초 (초고속 초저지연 초연결) 5G IoT 플랫폼 개발 이야기
 
[pgday.Seoul 2022] PostgreSQL구조 - 윤성재
[pgday.Seoul 2022] PostgreSQL구조 - 윤성재[pgday.Seoul 2022] PostgreSQL구조 - 윤성재
[pgday.Seoul 2022] PostgreSQL구조 - 윤성재
 
Node.js를 사용한 Big Data 사례연구
Node.js를 사용한 Big Data 사례연구Node.js를 사용한 Big Data 사례연구
Node.js를 사용한 Big Data 사례연구
 
Lablupconf session7 People don't know what they want until LABLUP show it to ...
Lablupconf session7 People don't know what they want until LABLUP show it to ...Lablupconf session7 People don't know what they want until LABLUP show it to ...
Lablupconf session7 People don't know what they want until LABLUP show it to ...
 
Apache Htrace overview (20160520)
Apache Htrace overview (20160520)Apache Htrace overview (20160520)
Apache Htrace overview (20160520)
 
[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4
[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4
[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4
 
3.[d2 오픈세미나]분산시스템 개발 및 교훈 n base arc
3.[d2 오픈세미나]분산시스템 개발 및 교훈 n base arc3.[d2 오픈세미나]분산시스템 개발 및 교훈 n base arc
3.[d2 오픈세미나]분산시스템 개발 및 교훈 n base arc
 
쓰레드.pdf
쓰레드.pdf쓰레드.pdf
쓰레드.pdf
 

Mehr von Gruter

MelOn 빅데이터 플랫폼과 Tajo 이야기
MelOn 빅데이터 플랫폼과 Tajo 이야기MelOn 빅데이터 플랫폼과 Tajo 이야기
MelOn 빅데이터 플랫폼과 Tajo 이야기Gruter
 
Introduction to Apache Tajo: Future of Data Warehouse
Introduction to Apache Tajo: Future of Data WarehouseIntroduction to Apache Tajo: Future of Data Warehouse
Introduction to Apache Tajo: Future of Data WarehouseGruter
 
Introduction to Apache Tajo: Data Warehouse for Big Data
Introduction to Apache Tajo: Data Warehouse for Big DataIntroduction to Apache Tajo: Data Warehouse for Big Data
Introduction to Apache Tajo: Data Warehouse for Big DataGruter
 
What's New Tajo 0.10 and Its Beyond
What's New Tajo 0.10 and Its BeyondWhat's New Tajo 0.10 and Its Beyond
What's New Tajo 0.10 and Its BeyondGruter
 
Efficient In­‐situ Processing of Various Storage Types on Apache Tajo
Efficient In­‐situ Processing of Various Storage Types on Apache TajoEfficient In­‐situ Processing of Various Storage Types on Apache Tajo
Efficient In­‐situ Processing of Various Storage Types on Apache TajoGruter
 
Gruter TECHDAY 2014 Realtime Processing in Telco
Gruter TECHDAY 2014 Realtime Processing in TelcoGruter TECHDAY 2014 Realtime Processing in Telco
Gruter TECHDAY 2014 Realtime Processing in TelcoGruter
 
Gruter_TECHDAY_2014_04_TajoCloudHandsOn (in Korean)
Gruter_TECHDAY_2014_04_TajoCloudHandsOn (in Korean)Gruter_TECHDAY_2014_04_TajoCloudHandsOn (in Korean)
Gruter_TECHDAY_2014_04_TajoCloudHandsOn (in Korean)Gruter
 
Gruter_TECHDAY_2014_03_ApacheTajo (in Korean)
Gruter_TECHDAY_2014_03_ApacheTajo (in Korean)Gruter_TECHDAY_2014_03_ApacheTajo (in Korean)
Gruter_TECHDAY_2014_03_ApacheTajo (in Korean)Gruter
 
Gruter_TECHDAY_2014_01_SearchEngine (in Korean)
Gruter_TECHDAY_2014_01_SearchEngine (in Korean)Gruter_TECHDAY_2014_01_SearchEngine (in Korean)
Gruter_TECHDAY_2014_01_SearchEngine (in Korean)Gruter
 
Apache Tajo - BWC 2014
Apache Tajo - BWC 2014Apache Tajo - BWC 2014
Apache Tajo - BWC 2014Gruter
 
Elastic Search Performance Optimization - Deview 2014
Elastic Search Performance Optimization - Deview 2014Elastic Search Performance Optimization - Deview 2014
Elastic Search Performance Optimization - Deview 2014Gruter
 
Hadoop security DeView 2014
Hadoop security DeView 2014Hadoop security DeView 2014
Hadoop security DeView 2014Gruter
 
Big Data Camp LA 2014 - Apache Tajo: A Big Data Warehouse System on Hadoop
Big Data Camp LA 2014 - Apache Tajo: A Big Data Warehouse System on HadoopBig Data Camp LA 2014 - Apache Tajo: A Big Data Warehouse System on Hadoop
Big Data Camp LA 2014 - Apache Tajo: A Big Data Warehouse System on HadoopGruter
 
Hadoop Summit 2014: Query Optimization and JIT-based Vectorized Execution in ...
Hadoop Summit 2014: Query Optimization and JIT-based Vectorized Execution in ...Hadoop Summit 2014: Query Optimization and JIT-based Vectorized Execution in ...
Hadoop Summit 2014: Query Optimization and JIT-based Vectorized Execution in ...Gruter
 
Cloumon sw제품설명회 발표자료
Cloumon sw제품설명회 발표자료Cloumon sw제품설명회 발표자료
Cloumon sw제품설명회 발표자료Gruter
 
Tajo case study bay area hug 20131105
Tajo case study bay area hug 20131105Tajo case study bay area hug 20131105
Tajo case study bay area hug 20131105Gruter
 
Apache Tajo - Bay Area HUG Nov. 2013 LinkedIn Special Event
Apache Tajo - Bay Area HUG Nov. 2013 LinkedIn Special EventApache Tajo - Bay Area HUG Nov. 2013 LinkedIn Special Event
Apache Tajo - Bay Area HUG Nov. 2013 LinkedIn Special EventGruter
 
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: 온라인 컨텐츠 서비스를 위한 빅데이터 구축 사례
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: 온라인 컨텐츠 서비스를 위한 빅데이터 구축 사례GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: 온라인 컨텐츠 서비스를 위한 빅데이터 구축 사례
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: 온라인 컨텐츠 서비스를 위한 빅데이터 구축 사례Gruter
 

Mehr von Gruter (18)

MelOn 빅데이터 플랫폼과 Tajo 이야기
MelOn 빅데이터 플랫폼과 Tajo 이야기MelOn 빅데이터 플랫폼과 Tajo 이야기
MelOn 빅데이터 플랫폼과 Tajo 이야기
 
Introduction to Apache Tajo: Future of Data Warehouse
Introduction to Apache Tajo: Future of Data WarehouseIntroduction to Apache Tajo: Future of Data Warehouse
Introduction to Apache Tajo: Future of Data Warehouse
 
Introduction to Apache Tajo: Data Warehouse for Big Data
Introduction to Apache Tajo: Data Warehouse for Big DataIntroduction to Apache Tajo: Data Warehouse for Big Data
Introduction to Apache Tajo: Data Warehouse for Big Data
 
What's New Tajo 0.10 and Its Beyond
What's New Tajo 0.10 and Its BeyondWhat's New Tajo 0.10 and Its Beyond
What's New Tajo 0.10 and Its Beyond
 
Efficient In­‐situ Processing of Various Storage Types on Apache Tajo
Efficient In­‐situ Processing of Various Storage Types on Apache TajoEfficient In­‐situ Processing of Various Storage Types on Apache Tajo
Efficient In­‐situ Processing of Various Storage Types on Apache Tajo
 
Gruter TECHDAY 2014 Realtime Processing in Telco
Gruter TECHDAY 2014 Realtime Processing in TelcoGruter TECHDAY 2014 Realtime Processing in Telco
Gruter TECHDAY 2014 Realtime Processing in Telco
 
Gruter_TECHDAY_2014_04_TajoCloudHandsOn (in Korean)
Gruter_TECHDAY_2014_04_TajoCloudHandsOn (in Korean)Gruter_TECHDAY_2014_04_TajoCloudHandsOn (in Korean)
Gruter_TECHDAY_2014_04_TajoCloudHandsOn (in Korean)
 
Gruter_TECHDAY_2014_03_ApacheTajo (in Korean)
Gruter_TECHDAY_2014_03_ApacheTajo (in Korean)Gruter_TECHDAY_2014_03_ApacheTajo (in Korean)
Gruter_TECHDAY_2014_03_ApacheTajo (in Korean)
 
Gruter_TECHDAY_2014_01_SearchEngine (in Korean)
Gruter_TECHDAY_2014_01_SearchEngine (in Korean)Gruter_TECHDAY_2014_01_SearchEngine (in Korean)
Gruter_TECHDAY_2014_01_SearchEngine (in Korean)
 
Apache Tajo - BWC 2014
Apache Tajo - BWC 2014Apache Tajo - BWC 2014
Apache Tajo - BWC 2014
 
Elastic Search Performance Optimization - Deview 2014
Elastic Search Performance Optimization - Deview 2014Elastic Search Performance Optimization - Deview 2014
Elastic Search Performance Optimization - Deview 2014
 
Hadoop security DeView 2014
Hadoop security DeView 2014Hadoop security DeView 2014
Hadoop security DeView 2014
 
Big Data Camp LA 2014 - Apache Tajo: A Big Data Warehouse System on Hadoop
Big Data Camp LA 2014 - Apache Tajo: A Big Data Warehouse System on HadoopBig Data Camp LA 2014 - Apache Tajo: A Big Data Warehouse System on Hadoop
Big Data Camp LA 2014 - Apache Tajo: A Big Data Warehouse System on Hadoop
 
Hadoop Summit 2014: Query Optimization and JIT-based Vectorized Execution in ...
Hadoop Summit 2014: Query Optimization and JIT-based Vectorized Execution in ...Hadoop Summit 2014: Query Optimization and JIT-based Vectorized Execution in ...
Hadoop Summit 2014: Query Optimization and JIT-based Vectorized Execution in ...
 
Cloumon sw제품설명회 발표자료
Cloumon sw제품설명회 발표자료Cloumon sw제품설명회 발표자료
Cloumon sw제품설명회 발표자료
 
Tajo case study bay area hug 20131105
Tajo case study bay area hug 20131105Tajo case study bay area hug 20131105
Tajo case study bay area hug 20131105
 
Apache Tajo - Bay Area HUG Nov. 2013 LinkedIn Special Event
Apache Tajo - Bay Area HUG Nov. 2013 LinkedIn Special EventApache Tajo - Bay Area HUG Nov. 2013 LinkedIn Special Event
Apache Tajo - Bay Area HUG Nov. 2013 LinkedIn Special Event
 
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: 온라인 컨텐츠 서비스를 위한 빅데이터 구축 사례
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: 온라인 컨텐츠 서비스를 위한 빅데이터 구축 사례GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: 온라인 컨텐츠 서비스를 위한 빅데이터 구축 사례
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: 온라인 컨텐츠 서비스를 위한 빅데이터 구축 사례
 

Kürzlich hochgeladen

MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionKim Daeun
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Kim Daeun
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)Tae Young Lee
 
Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Wonjun Hwang
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Wonjun Hwang
 

Kürzlich hochgeladen (6)

MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)
 
Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)
 

SQL-on-Hadoop with Apache Tajo, and application case of SK Telecom

  • 1. SQL-on-Hadoop with Apache Tajo, and application case of SK Telecom 정재화 책임 / 그루터
  • 2. About me • 그루터 책임 개발자 & 아파치 타조 커미터 • 전) 큐릭스, NHN, 엔씨소프트 • E-mail: jhjung@gruter.com • Homepage: http://blrunner.com • Twitter: @blrunner78 • 저서: 시작하세요!하둡 프로그래밍 (위키북스)
  • 3. CONTENTS 1. Hadoop & MapReduce 2. SQL-On-Hadoop 3. Apache Tajo
  • 4. 1. Hadoop & MapReduce
  • 5. 1.1 Hadoop 대규모 데이터의 분산처리를 위한 오픈 소스 프레임워크  HDFS(데이터 저장) + MapReduce(분산 처리) • 유연성 - 다양한 데이터 포맷 지원 (구조적, 비구조적 데이터, 텍스트) - 범용 프로그래밍 언어를 이용하여 다양한 알고리즘 적용 가능 • 확장성 - 노드 증가에 따른 선형적인 (성능, 용량) 확장 가능 • 비용 - 다수의 범용 서버 클러스터에서 동작하도록 설계 - 노드 증가를 통한 용량 증설 및 처리 성능 향상 비용이 저렴
  • 6. 1.2 MapReduce 동작방식 k v map k v k v k v k v Sorted key-value pairs k v k v v v v k v reduce k v map k v k v k v k v Sorted key-value pairs k v k v v k v k v map k v k v k v Sorted key-value pairs k v v v v k v reduce k v map k v k v k v Sorted key-value pairs input map function sort k v k v v k v hash partition sort and merge reduce function
  • 7. 1.3 기존 MapReduce 기반 분석 시스템 • Hive: 하둡 기반의 DW 시스템 - HiveQL지원 (SQL과 유사) - HiveQL을 MapReduce로 변환해서 질의 수행 - 쉽고, 편리함 - 높은 반응 시간 (High Latency) • Pig: MapReduce용 프로그래밍 및 데이터 플로우 인터페이스 - 스크립트언어인 PigLatin 지원 - PigLatin을 MapReduce로 변환해서 질의 수행
  • 8. 1.4 MapReduce의 문제점 • Map과 Reduce간의 셔플의 한계 : merge sort  hashing  merge sort - 관계형 데이터 베이스에 부적합 - Job간의 데이터 교환 오버헤드 Job 1 write read HDFS -고정된 데이터 흐름 write Job 2 HDFS read Job 3
  • 9. 1.5 Hive 의 문제점 • 높은 지연 시간 - MapReduce Job별 5~15초에 달하는 시동 시간 • SQL 표준 미지원 -SQL과 유사하지만 많은 부분이 상이함
  • 10. 1.5 Hive 의 문제점 • 낮은 노드당 처리 성능 - 튜플(Tuple) 단위 처리 모델 SELECT Emp.name AS employee, bonus = (Emp.age - 30) * 50 Departments.name AS dep_name,Mng.name AS dep_manager, FROM Employees AS Emp JOIN Departments ON Emp.dept_id = Departments.id JOIN Employees AS Mng ON Mng.id = Departments.mngr_id WHERE Emp.age > 30
  • 11. 1.5 Hive 의 문제점 • 셔플로 인한 오버헤드 - 중간 데이터 materialization - Pull 방식으로 인한 Random Access * 이미지 출처: http://kb.sandisk.com/euf/assets/images/faqs/8150/id8150_Random_vs_sequential_access.png
  • 13. 2.1 SQL-on-Hadoop 이란? Hadoop 기반의 차세대 분석 엔진을 지칭 • SQL 표준 지원 - 기존 시스템과 통합 또는 대체 용이 • 높은 처리 성능 -MapReduce의 한계를 극복하는 분산 처리 프레임워크 - CPU와 메모리를 보다 잘 활용하는 처리 방식 • 낮은 반응 시간 (low latency) - 100 msec ~
  • 14. 2.2 왜 SQL-on-Hadoop 인가? • Needs의 변화 - 과거에는 투자대비 저렴한 가격으로 대용량 데이터 처리에 만족  보다 높은 처리 성능 및 빠른 반응 요구 - 지속적인 서버증설에 대한 비용 및 관리 부담 증가 - Ad-hoc질의를 위한 DB 병행 사용 불만 • 대화형 질의 (Interactive Query) - 데이터 분석: 질의  결과 분석과 사고  질의  시스템의 빠른 반응 속도가 데이터 분석의 생산성 - 빠른 의사 결정 가능
  • 15. 2.2 왜 SQL-on-Hadoop 인가? • 성능 보장 및 사람에 의한 오류 방지 - MapReduce 프로그래밍 - 개발자 역량에 의존적 - 버그 가능성 높음 - 질의 언어 - 적절한 성능은 시스템이 보장 - 버그 가능성 낮음
  • 16. 2.3 SQL-on-Hadoop 솔루션 • Impala - Low latency 질의 처리에 특화된 설계 - Block-at-a-time 방식 엔진 - 고성을 위한 C++ 적용, SIMD와 LLVM을 이용한 String 처리 - 인메모리 구조로 인한 결과 값이 큰 데이터 처리에 한계 - 소스는 Open, 참여는 Closed • Stinger - Hive 기반 시스템 - Vectorized 엔진 도입으로 기존 튜플 단위 처리 엔진 대체 작업 중 - Tez (apache incubating): MapReduce 대체
  • 18. 3.1 Tajo란? Hadoop 기반의 DW 시스템이며, HDFS 및 다양한 소스의 대용량 데이터에 대한 ETL, 집계, 연산, 조인, 정렬 제공 • 호환성 - 표준 SQL 지원, UDF 지원 - JDBC, ODBC (추후 계획) • 고성능 및 낮은 반응 시간 - 유연하고 효율적인 분산 처리 엔진 - 비용 기반 최적화 엔진 (cost-based optimization) - JIT Query Compliation 및 Vectorized 질의 엔진 • 오픈 소스 (http://tajo.incubator.apache.org) - 소스도, 참여도 모두 Open
  • 19. 3.2 Tajo 설계 동기 레거시 시스템에서 얻은 교훈 및 중요 우선 순위 • 잘못된 질의 계획에 대한 최적화 - 잘못된 질의 계획은 수 분짜리 질의를 수 시간이 걸리게 할 수 있음 • 분산 처리 프레임워크 - Map/Reduce 태스크 시작 오버헤드 (노드당 낮은 처리량) - 각 태스크당 수십 msec ~ 1초 이상 소요 - 64MB 데이터 기준 task 처리 속도는 1초 - 중간 데이터 전달 부하가 분산 처리의 주 병목 지점 - Pull 방식으로 인하여 네트워크 대역폭 활용도 낮음 - 고정된 Map, Reduce 단계, Hash Shuffle로 인한 최적화 기회 감소
  • 20. 3.2 Tajo 설계 동기 • 워커 레벨의 데이터 처리 엔진 - 낮은 처리 성능 - CPU-friendly 하지 않은 구현 - Scale-up에 대한 교려가 거의 없음 • 하드웨어의 발전 - Many Cores - 단일 범용 서버가 8 ~ 24 코어 보유 - 빠른 스토리지 - 향후 3~5년 내 SSD 서버 스토리지가 대중화 예상 - SSD의 순차 읽기 속도: 500 ~ 1500MB/S
  • 21. 3.2 Tajo 설계 동기 - CPU Core 당 처리 속도 2GB/s - Disk I/O  CPU 병목 예상 • SIMD (Sing Instruction Multiple Data) 의 발전 - 최신 CPU들은 String 비교나 Hashing을 위한 명령어까지 제공 - 단일 명령어 처리 데이터 증가 (향후 256bit  1024 bit) 이미지 출처 http://origin.arstechnica.com/cpu/1q00/simd/figure6.gif
  • 22. 3.3 Tajo 아키텍처 • Master-Worker 모델 - RPC 기반: Protocol Buffer, Netty, Boost ASIO • Tajo Master - 클라이언트 및 어플리케이션 요청 처리 - 카탈로그 서버 - 테이블 스키마, 물리적인 정보, 각종 통계 - JDBC 이용 외부 RDBMS를 저장소로 사용 - Query 파서, 플래너, 최적화, 클러스터 자원 관리, Query Master 관리
  • 23. 3.3 Tajo 아키텍처 • Query Master - 질의별 동작 - Execution Block (질의 실행 단계) 제어 - 태스크 스케쥴링 • Tajo Worker - 스토리지 매니저 - 로컬 질의 엔진 - 기존 자바 구현 모듈을 C++로 대체 중
  • 24. 3.3 Tajo 아키텍처 Hive Meta Database Hive Catalog TajoCli TajoClient Catalog Database TajoMaster Catalog Server TajoWorker HCatalog Interface TajoMaster Client Protocol Service (Netty) Logical Planner Global Planner YARN ResourceManager Tajo ResourceManager Resource Manager (자체) YARN RM Proxy QueryMaster Manager QueryMaster Manager ProtocolService (Netty) TajoWorker TajoWorker TajoWorker Query Physical Engine TajoWorker Planner Vectorized Engine QueryMaster Query Master Client Protocol Service (netty) Query Master Protocol Service (netty) Storage Manager File Reader/ Writer YARN NodeManager DataNode
  • 25. 3.4 질의 계획 및 최적화 엔진 • 비용 기반 최적화 (Cost-based optimization) - 시스템이 최적의 조인 순서를 탐색 및 선택 - 사용자에게 의존하지 않음 • 확장 가능한 Rewrite Rule 엔진 - 기존 상용 DB 수준의 다양한 Rewrite rule로 확장 가능 • 적응형 최적화 (Progressive query reoptimization) - 질의 실행 시간에 통계 정보를 기반으로 질의의 남은 부분 최적화 - 나쁜 질의 계획 회피 가능
  • 26. 3.5 데이터 셔플(Shuffle) 매커니즘 • 데이터 Shuffle 방법 - Hash - 노드들에게 할당된 hash key 값에 만족하도록 데이터 재분배 - Range - 노드들에게 할당된 값 범위에 만족하도록 데이터 재분배
  • 27. 3.5 데이터 셔플(Shuffle) 매커니즘 • 데이터 전송 방법 - Pull - 중간 데이터를 저장하고 다른 워커가 끌어가는 방식 - 데이터에 비해 자원이 충분치 않아 단계별 데이터 처리 시 이용 - Push - 중간 데이터의 디스크 저장 없이 데이터를 다른 워커에게 전송 - 자원이 충분하고 여러 데이터 처리를 동시에 파이프 라이닝이 가능할 때 사용
  • 28. 3.6 분산 질의 수행 플랜 (A join-groupby-sort query plan) (A distributed query execution plan) select col1, sum(col2) as total, avg(col3) as average from r1, r2 where r1.col1 = r2.col2 group by col1 order by average;
  • 29. 3.7 Vectorized Engine • 칼럼 방식으로 데이터 처리 • 데이터를 CPU 캐시 크기에 맞춘 Vector들로 유지 • Vector 단위 (원시 타입 배열) 데이터 처리 • 각 Vector 마다 작은 loop를 반복하여 데이터 처리 • CPU 파이프 라이닝 향상, SIMD 적용 가능, 높은 CPU 캐시 적중률
  • 31. 3.8 JIT (Just In Time) 코드 생성기 • LLVM: 프로그래밍 언어 컴파일러 집합으로, 컴파일 시간이나 런타임 시 간 등 다양한 상황에서 최적화를 쉽게 구현할 있도록 구성 • 질의 처리를 위한 주요 primitive를 미리 만들지 않고, LLVM을 이용해 런 타임에 실시간으로 생성 - 각 머신 별 최적화된 코드 생성 가능 - 인터프리트 오버헤드 제거 참고 문헌: http://ko.wikipedia.org/wiki/LLVM
  • 32. 3.8 JIT (Just In Time) 코드 생성기 SCAN const float vec_num = 1000; float l_extended_price[vec_num], l_discount[vec_num] long l_shipdate[vec_num], l_quantity[vec_num] int selected[vec_num]; date date1 = date(“1994-01-01”); date date2 = date(“1995-01-01”); float val1 = 0.05; val2= 0.07; double output1[vec_num]; double output2[vec_num]; do { fetch_vectors(l_extended_price, l_discount, l_shipdate, l_quantity); FILTER GROUP BY bool_geq_date_col_date_val(l_ship_date, date1, selected); bool_lt_date_col_date_val(l_ship_date, date2, selected); bool_geq_float_col_float_val(l_discount, 0.05, selected); bool_lt_float_col_float_val(l_discount, 0.07, selected); bool_gt_float_col_float_val(l_quantity, 24, selected); map_mul_float_col_float_col(output1, l_discount, l_quantity, selected); agg_sum_float(output2, output1, selected); write_outputbuffer(output2); } while (hasNext()); Output An example of runtime generated physical execution plan
  • 33. 3.9 로드맵 • 2013.10월 : Apache Tajo 0.2 Release - 차세대 분산 처리 엔진 - 기존 Java 기반 처리 엔진 - 대부분의 표준 SQL 지원 - HiveQL 모드 지원 - Query Rewrite Rule 엔진 탑재 + 기본 Rewrite Rule • 2014.1 월: Apache Tajo 1.0 Release - 다수 Rewrite Rule 탑재 - Cost-based Optimization - Adaptive Query Reoptimization - JIT Query Compliation & Vectorized Engine
  • 34. 3.10 벤치마크 테스트 • Tajo Java 엔진 버전, Impala 0.7, Hive 0.10 • 테스트 환경 - 데이터: 100GB TPC-H Data Set - 클러스터: 5 Cluster Nodes - CPU: Intel i5 - 메모리:16GB Memory - HDD: 2TB HDD x 5 - 네트워크: 1G Ethernet - Hadoop 버전: Hadoop 2.0.2-alpha
  • 35. 3.10 벤치마크 테스트 • Q1 SELECT L_RETURNFLAG, L_LINESTATUS, SUM(L_QUANTITY) AS SUM_QTY , SUM(L_EXTENDEDPRICE) AS SUM_BASE_PRICE , SUM(L_EXTENDEDPRICE*(1-L_DISCOUNT)) AS SUM_DISC_PRICE , SUM(L_EXTENDEDPRICE*(1-L_DISCOUNT)*(1+L_TAX)) AS SUM_CHARGE , AVG(L_QUANTITY) AS AVG_QTY, AVG(L_EXTENDEDPRICE) AS AVG_PRICE , AVG(L_DISCOUNT) AS AVG_DISC, COUNT(*) AS COUNT_ORDER FROM LINEITEM WHERE L_SHIPDATE <= dateadd(dd, -90, cast('1998-12-01' as date)) GROUP BY L_RETURNFLAG, L_LINESTATUS ORDER BY L_RETURNFLAG,L_LINESTATUS TAJO Impala Hive 112 sec 89 sec X
  • 36. 3.10 벤치마크 테스트 • Q3 SELECT TOP 10 L_ORDERKEY, SUM(L_EXTENDEDPRICE*(1-L_DISCOUNT)) AS REVENUE , O_ORDERDATE, O_SHIPPRIORITY FROM CUSTOMER, ORDERS, LINEITEM WHERE C_MKTSEGMENT = 'BUILDING' AND C_CUSTKEY = O_CUSTKEY AND L_ORDERKEY = O_ORDERKEY AND O_ORDERDATE < '1995-03-15' AND L_SHIPDATE > '1995-03-15' GROUP BY L_ORDERKEY, O_ORDERDATE, O_SHIPPRIORITY ORDER BY REVENUE DESC, O_ORDERDATE TAJO Impala Hive 330 sec 414 sec 827 sec
  • 37. 3.10 벤치마크 테스트 • Q6 SELECT SUM(L_EXTENDEDPRICE*L_DISCOUNT) AS REVENUE FROM LINEITEM WHERE L_SHIPDATE >= '1994-01-01' AND L_SHIPDATE < dateadd(yy, 1, cast('1994-01-01' as date)) AND L_DISCOUNT BETWEEN .06 - 0.01 AND .06 + 0.01 AND L_QUANTITY < 24 TAJO Impala Hive 121 sec 141 sec 346 sec
  • 38. 3.11 How to join Tajo • Tajo Home: http://tajo.incubator.apache.org/ • Tajo JIRA: https://issues.apache.org/jira/browse/TAJO • mailing-list: dev-subscribe@tajo.incubator.apache.org • GitHub: https://github.com/apache/incubator-tajo • 한국 사용자 모임: https://groups.google.com/forum/#!forum/tajo-user-kr
  • 39. Q&A