Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

Apache Tajo 프로젝트 소개 및 최신 기술동향

1 518 vues

Publié le

Apache Tajo 프로젝트 소개 및 최신 기술동향

Publié dans : Technologie
  • Login to see the comments

Apache Tajo 프로젝트 소개 및 최신 기술동향

  1. 1. Apache Tajo 프로젝트 소개 및 최신 기술동향 손지훈
  2. 2. 발표자 소개 ● 손지훈 (Jihoon Son) o 박사 과정 수료 (Computer Science & Engineering, 2010.3 ~) o Apache Tajo PMC and Committer (2014.5.1 ~) o Mentor of Google Summer of Code (2013) ● 연락처 o Email: jihoonson AT apache.org o LinkedIn: https://www.linkedin.com/in/jihoonson o Twitter: @jihoonson
  3. 3. Contents ● Tajo란? ● Tajo의 특징 ● Tajo 응용의 예 ● 적용 사례 ● 앞으로의 발전 방향
  4. 4. Tajo란? ● 빅데이터 분석을 위한 데이터웨어하우스 시스템 ● SQL-on-Hadoop o 지속적으로 Hadoop에 저장되는 데이터를 관리 o Hadoop에 저장된 대용량의 데이터에 대해 효과적으 로 SQL 질의를 처리
  5. 5. Tajo란? Data sources Database ERP CRM Clickstream Weblogs, Documents, Text Social media Users Reporting, OLAP analysis, Data mining Data warehouse
  6. 6. Tajo의 특징 ● 하둡과 데이터베이스의 기술적 융합 o Hadoop의 분산 처리 기 술 ▪ 확장성, 신뢰성 o 데이터베이스의 SQL 질 의 처리 기술 ▪ SQL 질의 처리 엔진, 질 의 최적화
  7. 7. Tajo의 특징 ● 풍부한 SQL 기능 지원 ● 효율적인 SQL 질의 처리 ● 신뢰성 있는 질의 처리 ● 그 외 o 확장성, 이종성
  8. 8. Tajo의 특징 ● 풍부한 SQL 기능 지원 o 표준 호환 SQL 지원 o 다양한 Join 지원 ▪ INNER, CROSS, LEFT/RIGHT/FULL OUTER, LEFT/RIGHT SEMI, LEFT/RIGHT ANTI JOINS o Window function 지원 ▪ 명시된 window frame에 대해, 각각의 window frame에 포함 되는 데이터에 대한 결과값을 계산
  9. 9. Tajo의 특징 ● 풍부한 SQL 기능 지원 o 표준 호환 SQL 지원 o 다양한 Join 지원 SELECT age, avg(salary) as avg_sal OVER (ORDER BY age) FROM empsalary; ▪ INNER, CROSS, LEFT/RIGHT/FULL OUTER, LEFT/RIGHT SEMI, LEFT/RIGHT ANTI JOINS o Window function 지원 ▪ 명시된 window frame에 대해, 각각의 window frame에 포함 되는 데이터에 대한 결과값을 계산 age avg_sal 30 4000 32 4500 ... window frame
  10. 10. Tajo의 특징 ● 효율적인 SQL 질의 처리 o 고유의 분산 질의 처리 엔진 ▪ Hadoop의 MapReduce를 사용하지 않음 ▪ 관계형 질의 처리 엔진 ● SQL 처리에 최적화 ▪ 대용량의 데이터를 빠르게 처리 ● 대용량의 데이터를 여러 클러스터 노드가 함께 처리
  11. 11. Tajo의 특징 ● 효율적인 SQL 질의 처리 o 고유의 분산 질의 처리 엔진 Tajo Master Tajo Worker Tajo Worker ... Tajo Worker SQL SQL engine SQL engine SQL engine
  12. 12. Tajo의 특징 ● 효율적인 SQL 질의 처리 o 발전된 질의 처리 최적화 ▪ 데이터베이스의 첨단 질의 최적화 기법 적용 ● Join 순서 최적화, In-memory 질의 처리 기법 등 ▪ 클라우드 환경에 적합한 새로운 질의 처리 최적화 기법 적용 ● 동적 로드 밸런싱 (Dynamic Load Balancing) o 질의 수행 중 동적으로 워커들의 로드를 조절 ● 점진적 질의 최적화 기법 (Progressive Query Optimization) o 질의를 수행하면서 점진적으로 수행 중인 질의를 최적화 ● 시간이 오래 걸리는 질의 처리에 효율적
  13. 13. Tajo의 특징 ● 효율적인 SQL 질의 처리 o 동적 로드 밸런싱 Tajo Master T2 T1 T3 Tajo Worker Tajo Worker ... Tajo Worker SQL engine SQL engine SQL engine
  14. 14. Tajo의 특징 ● 효율적인 SQL 질의 처리 o 동적 로드 밸런싱 Tajo Master T2 T5 T1 T3 T4 T6 Tajo Worker Tajo Worker ... Tajo Worker SQL engine SQL engine SQL engine
  15. 15. Tajo의 특징 ● 신뢰성 있는 질의 처리 o 장애 허용 질의 처리 ▪ 질의 처리 중, 일부 클러스터 노드에 장애가 발생해도 질의 를 끝까지 마칠 수 있음 o 높은 가용성 (High availability) ▪ Tajo 클러스터를 총괄하는 Master 노드에 장애가 발생하면 자동으로 백업 Master가 역할을 대신함 ▪ 단일 장애점 (Single Point of Failure) 문제 해결
  16. 16. Tajo의 특징 ● 신뢰성 있는 질의 처리 o 장애 허용 질의 처리 Tajo Master T2 T5 T1 T3 T4 T6 Tajo Worker Tajo Worker ... Tajo Worker SQL engine SQL engine SQL engine
  17. 17. Tajo의 특징 ● 신뢰성 있는 질의 처리 o 장애 허용 질의 처리 Tajo Master T2 T5 T3 T1 T4 T6 T3 T4 T6 Tajo Worker Tajo Worker ... Tajo Worker SQL engine SQL engine SQL engine
  18. 18. Tajo의 특징 ● 신뢰성 있는 질의 처리 o 높은 가용성 (High availability) Tajo Master Tajo Master ... Tajo Master T2 T5 T1 T3 T4 T6 Tajo Worker Tajo Worker ... Tajo Worker SQL engine SQL engine SQL engine
  19. 19. ● 신뢰성 있는 질의 처리 o 높은 가용성 (High availability) Tajo Master Tajo의 특징 Tajo Master ... Tajo Master T2 T5 T1 T3 T4 T6 Tajo Worker Tajo Worker ... Tajo Worker SQL engine SQL engine SQL engine
  20. 20. Tajo의 특징 ● 확장성 o 복잡한 과정 없이, 클러스터에 노드를 단순히 추가함 으로써 클러스터 확장 가능 ● 이종성 o 서로 다른 컴퓨팅 능력을 가진 노드들로 구성된 클러 스터에서도 잘 동작 ▪ 분산 질의 실행 시, 각 노드들의 컴퓨팅 능력을 고려하여 작 업 할당
  21. 21. Tajo 응용의 예 ● 다양한 소스로부터 지속적으로 추가되는 데이터 관리에 용이 o 하나의 Hadoop 디렉토리에 저장된 데이터를 하나의 테이블로 인식 o Partitioned table 지원 ▪ 테이블을 저장할 때, 일정한 기준에 따라 테이블을 나누어 저장 ● 예) 상품 판매 데이터를 저장할 때, 지점 별로 다른 디렉토리에 나누어 저장 가능 ● 관리하기 용이하며, 질의 성능 향상에 사용될 수 있음 ▪ 현재 Hive와 호환되는 column partitioning 지원
  22. 22. Tajo 응용의 예 sales_table sales Seoul Busan ... 2014-11-01.dat 2014-11-02.dat ... Gwangju User Sales data SQL query
  23. 23. Tajo 응용의 예 ● 배치 분석 o 큰 데이터를 한 번에 처리 ▪ 시간이 오래 걸림 ▪ 일반적으로 처리할 질의가 미리 정의되어 있음 ▪ 사용자가 많지 않은 시간에 주로 수행 o 예) "올해와 작년의 수익 차를 분기 별, 월 별, 지점 별 로 보여라"
  24. 24. Tajo 응용의 예 ● 대화형 분석 o 사용자가 시스템과 대화하듯 분석 질의를 수행 ▪ 일반적으로 시간이 짧게 걸림 ▪ 사용자가 임의의 질의를 수행 ● 탐험적 분석 o 예) "지난 한시간 동안 서울 지점에서 가장 많이 판매 된 물품 10개를 카테고리 별로 출력하라"
  25. 25. 적용 사례 ● SK Telecom o 목적: 통신망 로그 분석 o 클러스터 크기: 50대 이상 o 일일 데이터 처리량: 200 TB 이상 o 관련 자료 ▪ News: http://news.imaso.co.kr/123151 ▪ Slide: http://www.slideshare.net/deview/2a3big-data-launching- episodes
  26. 26. 적용 사례 ● Gruter o 목적: 소셜 네트워크 서비스 분석 o 클러스터 크기: 약 30대 o 일일 데이터 처리량: 수백 기가 ● LOEN 엔터테인먼트 o 목적: MelOn 서비스 로그 분석 o 클러스터 크기: 약 50대
  27. 27. Tajo Releases ● 버전 0.2.0 o 릴리즈 날짜: 2013.11.20 o 주요 내용: 더 많은 SQL 기능 지원 ● 버전 0.8.0 o 릴리즈 날짜: 2014.05.01 o 주요 내용: 안전성 개선
  28. 28. Tajo Releases ● 버전 0.9.0 o 릴리즈 날짜: 2014.10.21 o 주요 내용: 더 많은 SQL 기능 지원 및 질의 처리 성능 향상 ● 버전 0.9.1 o 릴리즈 계획: 2014.11 o 주요 계획 ▪ 비정형 파일 포멧 (JSON) 지원 ▪ 네트워크 비용 감소로 인한 질의 처리 성능 향상
  29. 29. 앞으로의 발전 방향 ● 근사 질의 처리 (Approximate query processing) o 빅데이터에서 반드시 정확한 결과 값을 얻을 필요 없음 o 정확도가 떨어지는 대신, 아주 빠른 시간 안에 결과 값 도출 가능 o 예) BlinkDB
  30. 30. 앞으로의 발전 방향 ● 근사 질의 처리 (Approximate query processing) o 빅데이터에서 반드시 정확한 결과 값을 얻을 필요 없음 o 정확도가 떨어지는 대신, 아주 빠른 시간 안에 결과 값 도출 가능 o 예) Online aggregation SELECT major, avg(score) FROM students GROUP BY major
  31. 31. 앞으로의 발전 방향 ● 질의 처리 성능 향상 o 최신 데이터베이스 질의 처리 기법 적용 ▪ Vectorized query processing, runtime code generation o 질의 최적화 기법 향상 ▪ 리소스를 효율적으로 활용하는 병렬 처리 기법 ▪ 색인의 효율적인 활용 ● 다양한 타입의 저장소 지원 o HBase, MongoDB, local file system, ...
  32. 32. 앞으로의 발전 방향 ● Database connectivity 지원 o ODBC ● Yarn 리소스 스케줄러 지원 o Hadoop의 Yarn 리소스 스케줄러와 호환 o Yarn을 이용하여 Tajo의 리소스를 스케줄링 ● 사용자 정의 함수 (UDF) 지원 o CREATE/DROP FUNCTION 구문 지원
  33. 33. Join Us! http://tajo.apache.org/

×