이 문서는 최근 대두되는 개방형 혁신 연구개발 프로젝트를 위한 거버넌스 구축하기 위하여 필요한 요소를 알아봅니다. 다양한 핵심 산업에서 사실상의 표준으로 자리잡은 많은 오픈소스 프로젝트들을 중심으로 성공적인 오픈소스 프로젝트로 가능 여정에 어떤것이 필요한지 이야기합니다.
제 19회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [백발백준] : 백준봇 : 컨테이너 오케스트레이션 기반 백준 문제 추천 봇BOAZ Bigdata
데이터 엔지니어링 프로젝트를 진행한 백발백준 팀에서는 아래와 같은 프로젝트를 진행했습니다.
백준봇 : 컨테이너 오케스트레이션 기반 백준 문제 추천 봇
20기 유하준 한국외국어대학교 산업공학과
20기 안지완 중앙대학교 소프트웨어학과
20기 정태형 경기대학교 응용통계학과
20기 최윤서 숙명여자대학교 일반대학원 통계학과
This document discusses basic configurations in Apache Tajo 0.11, including cluster resources, concurrent disk access, and garbage collection. It recommends configuring the worker heap size, number of disks per node, minimum memory per task, number of tasks assigned per disk, and temporary directory locations. The document also notes that Tajo works well with default configurations and provides links for more information.
This document evaluates the performance of Apache Tajo compared to other systems like Hive and Spark SQL. It runs benchmarks using the TPC-DS benchmark on Google Cloud Platform. The evaluation shows that Tajo is generally the fastest system and scales well to larger datasets and clusters. Some queries that involve complex joins and aggregations see more room for improvement in Tajo. The document encourages contributors to get involved in optimizing and enhancing Tajo's performance.
이 문서는 최근 대두되는 개방형 혁신 연구개발 프로젝트를 위한 거버넌스 구축하기 위하여 필요한 요소를 알아봅니다. 다양한 핵심 산업에서 사실상의 표준으로 자리잡은 많은 오픈소스 프로젝트들을 중심으로 성공적인 오픈소스 프로젝트로 가능 여정에 어떤것이 필요한지 이야기합니다.
제 19회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [백발백준] : 백준봇 : 컨테이너 오케스트레이션 기반 백준 문제 추천 봇BOAZ Bigdata
데이터 엔지니어링 프로젝트를 진행한 백발백준 팀에서는 아래와 같은 프로젝트를 진행했습니다.
백준봇 : 컨테이너 오케스트레이션 기반 백준 문제 추천 봇
20기 유하준 한국외국어대학교 산업공학과
20기 안지완 중앙대학교 소프트웨어학과
20기 정태형 경기대학교 응용통계학과
20기 최윤서 숙명여자대학교 일반대학원 통계학과
This document discusses basic configurations in Apache Tajo 0.11, including cluster resources, concurrent disk access, and garbage collection. It recommends configuring the worker heap size, number of disks per node, minimum memory per task, number of tasks assigned per disk, and temporary directory locations. The document also notes that Tajo works well with default configurations and provides links for more information.
This document evaluates the performance of Apache Tajo compared to other systems like Hive and Spark SQL. It runs benchmarks using the TPC-DS benchmark on Google Cloud Platform. The evaluation shows that Tajo is generally the fastest system and scales well to larger datasets and clusters. Some queries that involve complex joins and aggregations see more room for improvement in Tajo. The document encourages contributors to get involved in optimizing and enhancing Tajo's performance.
Introduction to Apache Tajo: Future of Data WarehouseJihoon Son
Apache Tajo is a SQL-on-Hadoop system that provides both fast interactive analysis and stable long-running extract-transform-load (ETL) jobs. It supports various data formats and storage systems. Companies like SK Telecom and Bluehole Studio use Tajo for tasks such as data warehousing, game log analysis, and music streaming data discovery. Tajo is optimized for performance and supports features like cost-based query optimization and off-heap processing. Benchmark tests show it outperforms other SQL-on-Hadoop systems like Hive and Spark SQL.
This document discusses query optimization in Apache Tajo. It describes how Tajo generates logical, distributed, and local query plans and optimizes them using rule-based and cost-based techniques. Some key optimization techniques include pushing down filters, selecting join algorithms, and optimizing data partitioning progressively during query execution based on intermediate statistics. The document provides examples of query planning and optimization in Tajo.
Introduction to Apache Tajo: Data Warehouse for Big DataJihoon Son
Tajo can infer the schema of self-describing data formats like JSON, ORC, and Parquet at query execution time without needing to pre-define and store the schema separately. This allows Tajo to query nested, complex data without requiring tedious schema definition by the user. Tajo's support of self-describing formats simplifies the process of querying nested, hierarchical data from files like the JSON log example shown.
Apache Tajo on Swift: Bringing SQL to the OpenStack WorldJihoon Son
This slide was presented at the SK Telecom T Developer Forum. It contains the brief evaluation results of the query execution performance of Tajo on Swift.
I conducted two kinds of experiments; The first experiment was to compare the performance of Tajo with on another distributed storage, i.e., HDFS. And the second experiment was the scalability test of Swift.
Interestingly, the scan performance on Swift is slower more than two times than that on HDFS. In addition, the task scheduling time on Swift is much greater than that on HDFS, which means the query initialization cost is very high.
Apache Tajo supports OpenStack Swift as one of its data sources.
This slide is presented at OpenStack Day in Korea 2015.
Outline
● Introduction to OpenStack Swift
● Introduction to Apache Tajo
● Tajo on Swift
● Demo
● Our Roadmap
5. CopyrightⓒSunRiver leehyekang.blog.me
Apache Tajo
● Tajo
○ SQL-on-Hadoop
○ 빅데이터 처리를 위핚 데이터웨어하우스 시스템
● 특징
○ SQL 표준 호홖
○ 질의 전체를 분산 처리
○ Batch 질의와 Interactive ad-hoc
질의 모두 지원 (100 ms ~ hours)
Tajo Project 소개1
고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
8. CopyrightⓒSunRiver leehyekang.blog.me
질의처리 과정 예
Tajo Project 소개1
SQL Logical Plan
SELECT
item.i_brand_id brand_id
,
item.i_brand brand,
sum(ss_sales_price)
FROM
store_sales,
item
WHERE
store_sales.ss_item_sk =
item.i_item_sk
GROUP BY
item.i_brand,
item.i_brand_id
Group by
Join
Scan on
item
Scan on
store_sales
고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
9. CopyrightⓒSunRiver leehyekang.blog.me
분산 수행 계획과 분산 질의 처리
Tajo Project 소개1
Stage
1
Scan on
store_sales
Scan on
item
Stage
2
Stage
3
Join
Group by
item
Worker
store_sales
Worker
item
Worker
store_sales
Worker
store_sales
Worker
Scan Scan Scan Scan Scan
고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
10. CopyrightⓒSunRiver leehyekang.blog.me
분산 수행 계획과 분산 질의 처리
Tajo Project 소개1
Worker WorkerWorker WorkerWorker
item
Worker
store_sales
Worker
item
Worker
store_sales
Worker
store_sales
Worker
Scan Scan Scan Scan Scan
Join Join Join Join Join
Shuffle
Stage
1
Scan on
store_sales
Scan on
item
Stage
2
Stage
3
Join
Group by
고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
11. CopyrightⓒSunRiver leehyekang.blog.me
분산 수행 계획과 분산 질의 처리
Tajo Project 소개1
item
Worker
store_sales
Worker
item
Worker
store_sales
Worker
store_sales
Worker
Scan Scan Scan Scan Scan
Shuffle
Worker WorkerWorker WorkerWorker
Group by Group by Group by Group by Group by
Shuffle
Stage
1
Scan on
store_sales
Scan on
item
Stage
2
Stage
3
Join
Group by
Worker WorkerWorker WorkerWorker
Join Join Join Join Join
고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
12. CopyrightⓒSunRiver leehyekang.blog.me
SQL 표준 호환
* 대부분의 SQL 오퍼레이션 지원
- Inner join, left/right/full outer join
- (Distinct) aggregation, sort, window function
* SQL 표준 데이터 타입 지원
- CHAR, BOOL, INT, BIGINT, REAL, DOUBLE, TEXT
- TIMESTAMP, DATE, TIME, INTERVAL
- DECIMAL (현재 구현 중)
Tajo Project 소개1
고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
13. CopyrightⓒSunRiver leehyekang.blog.me
SQL 표준 호환
*JDBC 인터페이스 지원
* Partition 지원
- Hive와 호홖되는 column partition 지원
* 다양핚 파일 포멧 지원
- CSV, RCFile, Parquet, Avro
* 표준이 아닌 사항들은 PostgreSQL과 Oracle 참조
Tajo Project 소개1
고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
14. CopyrightⓒSunRiver leehyekang.blog.me
다양핚 질의처리
* Batch 질의
- 보통 컴퓨터가 백그라운드로 실행
- 오래 걸림
* Interactive ad-hoc 질의
- 사용자가 직접 실행
- 매우 짧음
* 질의의 특징을 파악하여 batch 질의와
interactive ad-hoc 질의에 각각 최적화되어
질의 수행
Tajo Project 소개1
고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
16. CopyrightⓒSunRiver leehyekang.blog.me
Tajo Project의 시작
● 대용량 데이터 처리 연구 시작
○ 2008년부터 MapReduce를 사용핚
여러 질의 처리 성능 테스트
SQL, 그래프 질의 등
○ MapReduce는 특정 질의 처리에
최적화된 시스템
예) Grep, word count, PageRank, ...
Tajo의 시작부터 Open Source 공개까지2
고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
17. CopyrightⓒSunRiver leehyekang.blog.me
Tajo Project의 시작
● MapReduce보다 빠른 대용량 SQL 처리
시스템의 필요성
Tajo의 시작부터 Open Source 공개까지2
MapReduce
+ 뛰어난 확장성
- 느린 질의 처리
분산 데이터베이스
+ 효율적읶 질의 처리
- 낮은 확장성
고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
18. CopyrightⓒSunRiver leehyekang.blog.me
Tajo Project의 시작
● MapReduce보다 빠른 대용량 SQL 처리
시스템의 필요성
Tajo의 시작부터 Open Source 공개까지2
MapReduce
+ 뛰어난 확장성
- 느린 질의 처리
분산 데이터베이스
+ 효율적읶 질의 처리
- 낮은 확장성
확장성이 뛰어나면서도 효율적으로
질의를 처리하는 시스템 필요!
고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
19. CopyrightⓒSunRiver leehyekang.blog.me
Tajo Project
● 목표: 대규모 클러스터에서 신뢰성있게
동작하는 분산 SQL 처리 시스템
● 2010년부터 연구용 시스템으로 개발 시작
○ 최신 이론들을 실제 시스템에 반영하기 위해 노력
■ 병렧 데이터베이스 기술 적용
■ 여러 오픈소스 시스템
(Hadoop, Hive, Giraph 등)을 참고
Tajo의 시작부터 Open Source 공개까지2
고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
20. CopyrightⓒSunRiver leehyekang.blog.me
Tajo Project
● 개발 중 가장 어려웠던 점
○ 개발 읶력 부족
Tajo의 시작부터 Open Source 공개까지2
- SQL Parser
- Logical planner
- Catalog
- Worker
- Physical planner
- Physical plan executor
- Global planner
- Resource manager
- Task scheduler
- Storage
- File format
- RPC
- ETC
고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
21. CopyrightⓒSunRiver leehyekang.blog.me고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
Open Source로의 공개
● 2012년 프로토타입 완성, 국제 학회 논문 제출
● 오픈소스로 공개하게 된 계기
- 목표 : 널리 사용되는 좋은 시스템을 꾸준히 개발
- 사업 vs 오픈소스
: 오픈소스의 메리트
Tajo의 시작부터 Open Source 공개까지2
1. 더 잘 핛 수 있는 분야
2. 다른 뛰어난
개발자들과의 협업
3. 널리 사용될 수
있는 가능성
23. CopyrightⓒSunRiver leehyekang.blog.me
Tajo의 현황
● 커뮤니티 주도 프로젝트
○ 풀타임 개발자 5명 + 많은 contributor
■ 그루터, SKT, 국내 오픈소스 개발자분들
■ Google summer of code를 통해
다양핚 국적의 개발자분들
■ LinkedIn 및 Pivotal 개발자분들
● Tajo 커뮤니티의 이슈 생성 및 해결 현황
○ 다양핚 이슈를 홗발히 생성 및 해결
Tajo의 현황3
고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
24. CopyrightⓒSunRiver leehyekang.blog.me
Tajo의 현황
● 커뮤니티 주도 프로젝트
○ 풀타임 개발자 5명 + 많은 contributor
■ 그루터, SKT, 국내 오픈소스 개발자분들
■ Google summer of code를 통해
다양핚 국적의 개발자분들
■ LinkedIn 및 Pivotal 개발자분들
● Tajo 커뮤니티의 이슈 생성 및 해결 현황
○ 다양핚 이슈를 홗발히 생성 및 해결
Tajo의 현황3
고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
28. CopyrightⓒSunRiver leehyekang.blog.me
News
Tajo의 현황3
2013년
● Apache 프로젝트로 읶큐베이트 됨
● SK Telecom에서 Tajo 도입하기로 결정
● Google summer of code
● Deview 발표
● Hug meetup at LinkedIn
2014년
● ApacheCon 발표
● Apache Top-level Project 선정
● Hadoop summit 발표
● Bigdata camp LA 발표
고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
33. CopyrightⓒSunRiver leehyekang.blog.me
연구자로서의 Open Source
● Committer로써 지속적으로 Tajo 개발에 참여
○ 분산 시스템에 대핚 연구와
오픈소스 개발을 병행
■ 연구 결과를 Tajo에 적용
○ 연구 홖경으로 오픈 소스 사용의 이유
■ Tajo는 연구에 사용핛 수 있는
좋은 기반 시스템
■ 연구 결과를 실제 시스템에 반영하여
연구가 실용성이 있음을 확읶
Open Source 개발자로서 개인적 생각4
고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
34. CopyrightⓒSunRiver leehyekang.blog.me
개인에게 미친 영향
○ 다양핚 분야의 뛰어난
개발자들과의 협업
■ 기술적 토론 및 협업을
통핚 학습
○ 다양핚 기회가 주어짐
■ 학회 및 세미나 참여
■ Tajo와 관렦된 프로젝트
참여
Open Source 개발자로서 개인적 생각4
고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
35. CopyrightⓒSunRiver leehyekang.blog.me
연구실에 미친 영향
Open Source 개발자로서 개인적 생각4
○ 자신감 상승
■ 현재 가장 발전된 시스템 중
하나를 개발하였다는 자신감
○ 프로젝트와 관렦된 수많은 문
의
■ 회사들로부터의 문의 및 새로
운 프로젝트 제안
■ Tajo에 관심있는 학생들의 문
의
고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
36. CopyrightⓒSunRiver leehyekang.blog.me
회사 입장에 미칠 수 있는 영향
Open Source 개발자로서 개인적 생각4
○ 오픈소스 공개 혹은 참여가 실력있는 개발자를
모을 수 있는 좋은 방법이 될 수 있음
■ 회사가 가짂 기술력과 흥미로운 프로젝트를 공
개함으로써 뛰어난 개발자들의 참여 유도
■ 실제 Google, Facebook, Twitter 등의 회사에
서 사용하고 있는 방법
고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
39. CopyrightⓒSunRiver leehyekang.blog.me
Open Source에 참여하기 위핚 조건
Open Source 개발자로서 개인적 생각4
● 어느 분야에 특화된 전문가가 필요핚 것이
아님
○ 성공적으로 프로젝트가 운영되기 위해서는
다양핚 읷이 필요
■ 프로젝트 개발, 행정적읶 읷, 매월 프로젝트
상황 보고, 문서화, …
고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
40. CopyrightⓒSunRiver leehyekang.blog.me
Open Source 개발에 도움이 되는 능력
Open Source 개발자로서 개인적 생각4
● 영어!
○ 개발자들과 소통하기 위
해서 반드시 필요
○ 개발 실력만큼 영어 실
력이 중요
● 꾸준핚 노력
○ 특히 컴퓨터 분야는 기
술 발전 속도가 매우 빠
름
○ 최신 기술을 꾸준히 익
히는 것이 중요
고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr