SlideShare une entreprise Scribd logo
1  sur  42
Télécharger pour lire hors ligne
대학과
오픈소스
고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
CopyrightⓒSunRiver leehyekang.blog.me
발표자 소개
손지훈(Jihoon Son)
• Ph.D candidate
(Computer Science & Engineering, 2010.3 ~)
• Apache Tajo PMC and Committer
(2014.5.1 ~)
• Mentor of Google Summer of Code (2013)
• Email: jihoonson AT apache.org
• LinkedIn: https://www.linkedin.com/in/jihoonson
• Twitter: @jihoonson
Contacts
고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
CopyrightⓒSunRiver leehyekang.blog.me
대학과
오픈소스
01 Tajo project 소개
02 Tajo 시작부터 open source 공개까지
03 최근 Tajo project 뉴스
04 open source 개발자로서 개인적인 생각
고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
CopyrightⓒSunRiver leehyekang.blog.me
Tajo Project의 소개
고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
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
CopyrightⓒSunRiver leehyekang.blog.me
Tajo의 구조
Tajo Project 소개1
고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
CopyrightⓒSunRiver leehyekang.blog.me
질의처리 과정
Tajo Project 소개1
고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
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
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
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
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
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
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
CopyrightⓒSunRiver leehyekang.blog.me
다양핚 질의처리
* Batch 질의
- 보통 컴퓨터가 백그라운드로 실행
- 오래 걸림
* Interactive ad-hoc 질의
- 사용자가 직접 실행
- 매우 짧음
* 질의의 특징을 파악하여 batch 질의와
interactive ad-hoc 질의에 각각 최적화되어
질의 수행
Tajo Project 소개1
고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
CopyrightⓒSunRiver leehyekang.blog.me
Tajo의 시작부터
Open Source 공개까지
고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
CopyrightⓒSunRiver leehyekang.blog.me
Tajo Project의 시작
● 대용량 데이터 처리 연구 시작
○ 2008년부터 MapReduce를 사용핚
여러 질의 처리 성능 테스트
 SQL, 그래프 질의 등
○ MapReduce는 특정 질의 처리에
최적화된 시스템
 예) Grep, word count, PageRank, ...
Tajo의 시작부터 Open Source 공개까지2
고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
CopyrightⓒSunRiver leehyekang.blog.me
Tajo Project의 시작
● MapReduce보다 빠른 대용량 SQL 처리
시스템의 필요성
Tajo의 시작부터 Open Source 공개까지2
MapReduce
+ 뛰어난 확장성
- 느린 질의 처리
분산 데이터베이스
+ 효율적읶 질의 처리
- 낮은 확장성
고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
CopyrightⓒSunRiver leehyekang.blog.me
Tajo Project의 시작
● MapReduce보다 빠른 대용량 SQL 처리
시스템의 필요성
Tajo의 시작부터 Open Source 공개까지2
MapReduce
+ 뛰어난 확장성
- 느린 질의 처리
분산 데이터베이스
+ 효율적읶 질의 처리
- 낮은 확장성
확장성이 뛰어나면서도 효율적으로
질의를 처리하는 시스템 필요!
고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
CopyrightⓒSunRiver leehyekang.blog.me
Tajo Project
● 목표: 대규모 클러스터에서 신뢰성있게
동작하는 분산 SQL 처리 시스템
● 2010년부터 연구용 시스템으로 개발 시작
○ 최신 이론들을 실제 시스템에 반영하기 위해 노력
■ 병렧 데이터베이스 기술 적용
■ 여러 오픈소스 시스템
(Hadoop, Hive, Giraph 등)을 참고
Tajo의 시작부터 Open Source 공개까지2
고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
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
CopyrightⓒSunRiver leehyekang.blog.me고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
Open Source로의 공개
● 2012년 프로토타입 완성, 국제 학회 논문 제출
● 오픈소스로 공개하게 된 계기
- 목표 : 널리 사용되는 좋은 시스템을 꾸준히 개발
- 사업 vs 오픈소스
: 오픈소스의 메리트
Tajo의 시작부터 Open Source 공개까지2
1. 더 잘 핛 수 있는 분야
2. 다른 뛰어난
개발자들과의 협업
3. 널리 사용될 수
있는 가능성
CopyrightⓒSunRiver leehyekang.blog.me
Tajo의 현황
고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
CopyrightⓒSunRiver leehyekang.blog.me
Tajo의 현황
● 커뮤니티 주도 프로젝트
○ 풀타임 개발자 5명 + 많은 contributor
■ 그루터, SKT, 국내 오픈소스 개발자분들
■ Google summer of code를 통해
다양핚 국적의 개발자분들
■ LinkedIn 및 Pivotal 개발자분들
● Tajo 커뮤니티의 이슈 생성 및 해결 현황
○ 다양핚 이슈를 홗발히 생성 및 해결
Tajo의 현황3
고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
CopyrightⓒSunRiver leehyekang.blog.me
Tajo의 현황
● 커뮤니티 주도 프로젝트
○ 풀타임 개발자 5명 + 많은 contributor
■ 그루터, SKT, 국내 오픈소스 개발자분들
■ Google summer of code를 통해
다양핚 국적의 개발자분들
■ LinkedIn 및 Pivotal 개발자분들
● Tajo 커뮤니티의 이슈 생성 및 해결 현황
○ 다양핚 이슈를 홗발히 생성 및 해결
Tajo의 현황3
고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
CopyrightⓒSunRiver leehyekang.blog.me
최근 Tajo 이슈
● Nested data model 지원
Tajo의 현황3
JSON Protocol Buffers
고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
CopyrightⓒSunRiver leehyekang.blog.me
최근 Tajo 이슈
● Multi-tenancy 지원을 위핚 자원 스케줄링
Tajo의 현황3
고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
CopyrightⓒSunRiver leehyekang.blog.me
최근 Tajo 이슈
● 질의 처리 성능을 향상시키기 위핚
Vectorized engine
Tajo의 현황3
고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
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
CopyrightⓒSunRiver leehyekang.blog.me
ApacheCon 2014
Tajo의 현황3
● Big Telco, Bigger DW Demands:
Moving Towards SQL-on-Hadoop
고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
CopyrightⓒSunRiver leehyekang.blog.me
Hadoop Summit 2014
Tajo의 현황3
● Query Optimization and JIT-based
Vectorized Execution in Apache Tajo
고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
CopyrightⓒSunRiver leehyekang.blog.me
Big Data Camp LA 2014
Tajo의 현황3
● Apache Tajo: An open source Big data
warehouse system on Hadoop
고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
CopyrightⓒSunRiver leehyekang.blog.me
Open Source 개발자로서
개인적 생각
고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
CopyrightⓒSunRiver leehyekang.blog.me
연구자로서의 Open Source
● Committer로써 지속적으로 Tajo 개발에 참여
○ 분산 시스템에 대핚 연구와
오픈소스 개발을 병행
■ 연구 결과를 Tajo에 적용
○ 연구 홖경으로 오픈 소스 사용의 이유
■ Tajo는 연구에 사용핛 수 있는
좋은 기반 시스템
■ 연구 결과를 실제 시스템에 반영하여
연구가 실용성이 있음을 확읶
Open Source 개발자로서 개인적 생각4
고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
CopyrightⓒSunRiver leehyekang.blog.me
개인에게 미친 영향
○ 다양핚 분야의 뛰어난
개발자들과의 협업
■ 기술적 토론 및 협업을
통핚 학습
○ 다양핚 기회가 주어짐
■ 학회 및 세미나 참여
■ Tajo와 관렦된 프로젝트
참여
Open Source 개발자로서 개인적 생각4
고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
CopyrightⓒSunRiver leehyekang.blog.me
연구실에 미친 영향
Open Source 개발자로서 개인적 생각4
○ 자신감 상승
■ 현재 가장 발전된 시스템 중
하나를 개발하였다는 자신감
○ 프로젝트와 관렦된 수많은 문
의
■ 회사들로부터의 문의 및 새로
운 프로젝트 제안
■ Tajo에 관심있는 학생들의 문
의
고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
CopyrightⓒSunRiver leehyekang.blog.me
회사 입장에 미칠 수 있는 영향
Open Source 개발자로서 개인적 생각4
○ 오픈소스 공개 혹은 참여가 실력있는 개발자를
모을 수 있는 좋은 방법이 될 수 있음
■ 회사가 가짂 기술력과 흥미로운 프로젝트를 공
개함으로써 뛰어난 개발자들의 참여 유도
■ 실제 Google, Facebook, Twitter 등의 회사에
서 사용하고 있는 방법
고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
CopyrightⓒSunRiver leehyekang.blog.me
Open Source에 참여하기 위핚 조건
Open Source 개발자로서 개인적 생각4
고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
CopyrightⓒSunRiver leehyekang.blog.me
Open Source에 참여하기 위핚 조건
Open Source 개발자로서 개인적 생각4
흥미 열정
고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
CopyrightⓒSunRiver leehyekang.blog.me
Open Source에 참여하기 위핚 조건
Open Source 개발자로서 개인적 생각4
● 어느 분야에 특화된 전문가가 필요핚 것이
아님
○ 성공적으로 프로젝트가 운영되기 위해서는
다양핚 읷이 필요
■ 프로젝트 개발, 행정적읶 읷, 매월 프로젝트
상황 보고, 문서화, …
고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
CopyrightⓒSunRiver leehyekang.blog.me
Open Source 개발에 도움이 되는 능력
Open Source 개발자로서 개인적 생각4
● 영어!
○ 개발자들과 소통하기 위
해서 반드시 필요
○ 개발 실력만큼 영어 실
력이 중요
● 꾸준핚 노력
○ 특히 컴퓨터 분야는 기
술 발전 속도가 매우 빠
름
○ 최신 기술을 꾸준히 익
히는 것이 중요
고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
CopyrightⓒSunRiver leehyekang.blog.me
마치며…
Open Source 개발자로서 개인적 생각4
코드 공헌은 언제나 누구나
환영합니다!
http://tajo.apache.org
고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
CopyrightⓒSunRiver leehyekang.blog.me
감사합니다
Thank you
고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr

Contenu connexe

Similaire à 대학과 오픈소스

학교에선 알려주지 않는 오픈소스이야기 - 박치완님
학교에선 알려주지 않는 오픈소스이야기 - 박치완님학교에선 알려주지 않는 오픈소스이야기 - 박치완님
학교에선 알려주지 않는 오픈소스이야기 - 박치완님NAVER D2
 
오픈소스 프로젝트 따라잡기_공개
오픈소스 프로젝트 따라잡기_공개오픈소스 프로젝트 따라잡기_공개
오픈소스 프로젝트 따라잡기_공개Hyoungjun Kim
 
차정민 (소프트웨어 엔지니어) 이력서 + 경력기술서
차정민 (소프트웨어 엔지니어) 이력서 + 경력기술서차정민 (소프트웨어 엔지니어) 이력서 + 경력기술서
차정민 (소프트웨어 엔지니어) 이력서 + 경력기술서Jeongmin Cha
 
Opensource contributor 회고_ver_0.6
Opensource contributor 회고_ver_0.6Opensource contributor 회고_ver_0.6
Opensource contributor 회고_ver_0.6명준 김
 
출연연의 공개소프트웨어 연구개발 프로젝트 관리
출연연의 공개소프트웨어 연구개발 프로젝트 관리출연연의 공개소프트웨어 연구개발 프로젝트 관리
출연연의 공개소프트웨어 연구개발 프로젝트 관리Kevin Kim
 
2013 공개SW데이 발표 - 구름IDE의 발자취와 미래
2013 공개SW데이 발표 - 구름IDE의 발자취와 미래2013 공개SW데이 발표 - 구름IDE의 발자취와 미래
2013 공개SW데이 발표 - 구름IDE의 발자취와 미래Sung-tae Ryu
 
김찬웅_그룹웨어에 새 에너지를_NDC15
김찬웅_그룹웨어에 새 에너지를_NDC15김찬웅_그룹웨어에 새 에너지를_NDC15
김찬웅_그룹웨어에 새 에너지를_NDC15Chanwoong Kim
 
개방형 혁신 연구개발 프로젝트를 위한 거버넌스 구축
개방형 혁신 연구개발 프로젝트를 위한 거버넌스 구축개방형 혁신 연구개발 프로젝트를 위한 거버넌스 구축
개방형 혁신 연구개발 프로젝트를 위한 거버넌스 구축Kevin Kim
 
2021년 4월 10일 개발자 이야기
2021년 4월 10일 개발자 이야기2021년 4월 10일 개발자 이야기
2021년 4월 10일 개발자 이야기Jay Park
 
Python(basic)
Python(basic)Python(basic)
Python(basic)POSTECH
 
[OpenStack Days Korea 2016] Track2 - 데이터센터에 부는 오픈 소스 하드웨어 바람
[OpenStack Days Korea 2016] Track2 - 데이터센터에 부는 오픈 소스 하드웨어 바람[OpenStack Days Korea 2016] Track2 - 데이터센터에 부는 오픈 소스 하드웨어 바람
[OpenStack Days Korea 2016] Track2 - 데이터센터에 부는 오픈 소스 하드웨어 바람OpenStack Korea Community
 
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWSMatthew (정재화)
 
코프링 프로젝트 투입 일주일 전: 주니어 개발자의 코틀린 도입 이야기
코프링 프로젝트 투입 일주일 전: 주니어 개발자의 코틀린 도입 이야기코프링 프로젝트 투입 일주일 전: 주니어 개발자의 코틀린 도입 이야기
코프링 프로젝트 투입 일주일 전: 주니어 개발자의 코틀린 도입 이야기Seokjae Lee
 
2022.08 멘토링 자료.pptx
2022.08 멘토링 자료.pptx2022.08 멘토링 자료.pptx
2022.08 멘토링 자료.pptxssuserf875e6
 
MySQL Document Store를 활용한 NoSQL 개발
MySQL Document Store를 활용한 NoSQL 개발MySQL Document Store를 활용한 NoSQL 개발
MySQL Document Store를 활용한 NoSQL 개발Oracle Korea
 
Jeonhacbu paper study_ot
Jeonhacbu paper study_otJeonhacbu paper study_ot
Jeonhacbu paper study_ot찬구 강
 
제 19회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [백발백준] : 백준봇 : 컨테이너 오케스트레이션 기반 백준 문제 추천 봇
제 19회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [백발백준] : 백준봇 : 컨테이너 오케스트레이션 기반 백준 문제 추천 봇제 19회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [백발백준] : 백준봇 : 컨테이너 오케스트레이션 기반 백준 문제 추천 봇
제 19회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [백발백준] : 백준봇 : 컨테이너 오케스트레이션 기반 백준 문제 추천 봇BOAZ Bigdata
 

Similaire à 대학과 오픈소스 (20)

학교에선 알려주지 않는 오픈소스이야기 - 박치완님
학교에선 알려주지 않는 오픈소스이야기 - 박치완님학교에선 알려주지 않는 오픈소스이야기 - 박치완님
학교에선 알려주지 않는 오픈소스이야기 - 박치완님
 
오픈소스 프로젝트 따라잡기_공개
오픈소스 프로젝트 따라잡기_공개오픈소스 프로젝트 따라잡기_공개
오픈소스 프로젝트 따라잡기_공개
 
차정민 (소프트웨어 엔지니어) 이력서 + 경력기술서
차정민 (소프트웨어 엔지니어) 이력서 + 경력기술서차정민 (소프트웨어 엔지니어) 이력서 + 경력기술서
차정민 (소프트웨어 엔지니어) 이력서 + 경력기술서
 
Opensource contributor 회고_ver_0.6
Opensource contributor 회고_ver_0.6Opensource contributor 회고_ver_0.6
Opensource contributor 회고_ver_0.6
 
출연연의 공개소프트웨어 연구개발 프로젝트 관리
출연연의 공개소프트웨어 연구개발 프로젝트 관리출연연의 공개소프트웨어 연구개발 프로젝트 관리
출연연의 공개소프트웨어 연구개발 프로젝트 관리
 
2013 공개SW데이 발표 - 구름IDE의 발자취와 미래
2013 공개SW데이 발표 - 구름IDE의 발자취와 미래2013 공개SW데이 발표 - 구름IDE의 발자취와 미래
2013 공개SW데이 발표 - 구름IDE의 발자취와 미래
 
김찬웅_그룹웨어에 새 에너지를_NDC15
김찬웅_그룹웨어에 새 에너지를_NDC15김찬웅_그룹웨어에 새 에너지를_NDC15
김찬웅_그룹웨어에 새 에너지를_NDC15
 
개방형 혁신 연구개발 프로젝트를 위한 거버넌스 구축
개방형 혁신 연구개발 프로젝트를 위한 거버넌스 구축개방형 혁신 연구개발 프로젝트를 위한 거버넌스 구축
개방형 혁신 연구개발 프로젝트를 위한 거버넌스 구축
 
2021년 4월 10일 개발자 이야기
2021년 4월 10일 개발자 이야기2021년 4월 10일 개발자 이야기
2021년 4월 10일 개발자 이야기
 
about Programmer 2018
about Programmer 2018about Programmer 2018
about Programmer 2018
 
Python(basic)
Python(basic)Python(basic)
Python(basic)
 
[OpenStack Days Korea 2016] Track2 - 데이터센터에 부는 오픈 소스 하드웨어 바람
[OpenStack Days Korea 2016] Track2 - 데이터센터에 부는 오픈 소스 하드웨어 바람[OpenStack Days Korea 2016] Track2 - 데이터센터에 부는 오픈 소스 하드웨어 바람
[OpenStack Days Korea 2016] Track2 - 데이터센터에 부는 오픈 소스 하드웨어 바람
 
AUSG 소개
AUSG 소개AUSG 소개
AUSG 소개
 
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
 
코프링 프로젝트 투입 일주일 전: 주니어 개발자의 코틀린 도입 이야기
코프링 프로젝트 투입 일주일 전: 주니어 개발자의 코틀린 도입 이야기코프링 프로젝트 투입 일주일 전: 주니어 개발자의 코틀린 도입 이야기
코프링 프로젝트 투입 일주일 전: 주니어 개발자의 코틀린 도입 이야기
 
2022.08 멘토링 자료.pptx
2022.08 멘토링 자료.pptx2022.08 멘토링 자료.pptx
2022.08 멘토링 자료.pptx
 
Prepo
PrepoPrepo
Prepo
 
MySQL Document Store를 활용한 NoSQL 개발
MySQL Document Store를 활용한 NoSQL 개발MySQL Document Store를 활용한 NoSQL 개발
MySQL Document Store를 활용한 NoSQL 개발
 
Jeonhacbu paper study_ot
Jeonhacbu paper study_otJeonhacbu paper study_ot
Jeonhacbu paper study_ot
 
제 19회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [백발백준] : 백준봇 : 컨테이너 오케스트레이션 기반 백준 문제 추천 봇
제 19회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [백발백준] : 백준봇 : 컨테이너 오케스트레이션 기반 백준 문제 추천 봇제 19회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [백발백준] : 백준봇 : 컨테이너 오케스트레이션 기반 백준 문제 추천 봇
제 19회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [백발백준] : 백준봇 : 컨테이너 오케스트레이션 기반 백준 문제 추천 봇
 

Plus de Jihoon Son

Apache tajo configuration
Apache tajo configurationApache tajo configuration
Apache tajo configurationJihoon Son
 
Performance evaluation of apache tajo
Performance evaluation of apache tajoPerformance evaluation of apache tajo
Performance evaluation of apache tajoJihoon Son
 
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 WarehouseJihoon Son
 
Query optimization in Apache Tajo
Query optimization in Apache TajoQuery optimization in Apache Tajo
Query optimization in 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 Tajo on Swift: Bringing SQL to the OpenStack World
Apache Tajo on Swift: Bringing SQL to the OpenStack WorldApache Tajo on Swift: Bringing SQL to the OpenStack World
Apache Tajo on Swift: Bringing SQL to the OpenStack WorldJihoon Son
 
Apache Tajo on Swift
Apache Tajo on SwiftApache Tajo on Swift
Apache Tajo on SwiftJihoon Son
 
Apache Tajo 프로젝트 소개 및 최신 기술동향
Apache Tajo 프로젝트 소개 및 최신 기술동향Apache Tajo 프로젝트 소개 및 최신 기술동향
Apache Tajo 프로젝트 소개 및 최신 기술동향Jihoon Son
 

Plus de Jihoon Son (8)

Apache tajo configuration
Apache tajo configurationApache tajo configuration
Apache tajo configuration
 
Performance evaluation of apache tajo
Performance evaluation of apache tajoPerformance evaluation of apache tajo
Performance evaluation of apache 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
 
Query optimization in Apache Tajo
Query optimization in Apache TajoQuery optimization in Apache Tajo
Query optimization in 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 Tajo on Swift: Bringing SQL to the OpenStack World
Apache Tajo on Swift: Bringing SQL to the OpenStack WorldApache Tajo on Swift: Bringing SQL to the OpenStack World
Apache Tajo on Swift: Bringing SQL to the OpenStack World
 
Apache Tajo on Swift
Apache Tajo on SwiftApache Tajo on Swift
Apache Tajo on Swift
 
Apache Tajo 프로젝트 소개 및 최신 기술동향
Apache Tajo 프로젝트 소개 및 최신 기술동향Apache Tajo 프로젝트 소개 및 최신 기술동향
Apache Tajo 프로젝트 소개 및 최신 기술동향
 

대학과 오픈소스

  • 2. CopyrightⓒSunRiver leehyekang.blog.me 발표자 소개 손지훈(Jihoon Son) • Ph.D candidate (Computer Science & Engineering, 2010.3 ~) • Apache Tajo PMC and Committer (2014.5.1 ~) • Mentor of Google Summer of Code (2013) • Email: jihoonson AT apache.org • LinkedIn: https://www.linkedin.com/in/jihoonson • Twitter: @jihoonson Contacts 고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
  • 3. CopyrightⓒSunRiver leehyekang.blog.me 대학과 오픈소스 01 Tajo project 소개 02 Tajo 시작부터 open source 공개까지 03 최근 Tajo project 뉴스 04 open source 개발자로서 개인적인 생각 고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
  • 4. CopyrightⓒSunRiver leehyekang.blog.me Tajo Project의 소개 고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
  • 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
  • 6. CopyrightⓒSunRiver leehyekang.blog.me Tajo의 구조 Tajo Project 소개1 고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
  • 7. CopyrightⓒSunRiver leehyekang.blog.me 질의처리 과정 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
  • 15. CopyrightⓒSunRiver leehyekang.blog.me Tajo의 시작부터 Open Source 공개까지 고려대학교 데이터베이스 연구실 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. 널리 사용될 수 있는 가능성
  • 22. CopyrightⓒSunRiver leehyekang.blog.me Tajo의 현황 고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
  • 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
  • 25. CopyrightⓒSunRiver leehyekang.blog.me 최근 Tajo 이슈 ● Nested data model 지원 Tajo의 현황3 JSON Protocol Buffers 고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
  • 26. CopyrightⓒSunRiver leehyekang.blog.me 최근 Tajo 이슈 ● Multi-tenancy 지원을 위핚 자원 스케줄링 Tajo의 현황3 고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
  • 27. CopyrightⓒSunRiver leehyekang.blog.me 최근 Tajo 이슈 ● 질의 처리 성능을 향상시키기 위핚 Vectorized engine 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
  • 29. CopyrightⓒSunRiver leehyekang.blog.me ApacheCon 2014 Tajo의 현황3 ● Big Telco, Bigger DW Demands: Moving Towards SQL-on-Hadoop 고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
  • 30. CopyrightⓒSunRiver leehyekang.blog.me Hadoop Summit 2014 Tajo의 현황3 ● Query Optimization and JIT-based Vectorized Execution in Apache Tajo 고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
  • 31. CopyrightⓒSunRiver leehyekang.blog.me Big Data Camp LA 2014 Tajo의 현황3 ● Apache Tajo: An open source Big data warehouse system on Hadoop 고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
  • 32. CopyrightⓒSunRiver leehyekang.blog.me Open Source 개발자로서 개인적 생각 고려대학교 데이터베이스 연구실 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
  • 37. CopyrightⓒSunRiver leehyekang.blog.me Open Source에 참여하기 위핚 조건 Open Source 개발자로서 개인적 생각4 고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
  • 38. CopyrightⓒSunRiver leehyekang.blog.me Open Source에 참여하기 위핚 조건 Open Source 개발자로서 개인적 생각4 흥미 열정 고려대학교 데이터베이스 연구실 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
  • 41. CopyrightⓒSunRiver leehyekang.blog.me 마치며… Open Source 개발자로서 개인적 생각4 코드 공헌은 언제나 누구나 환영합니다! http://tajo.apache.org 고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr
  • 42. CopyrightⓒSunRiver leehyekang.blog.me 감사합니다 Thank you 고려대학교 데이터베이스 연구실 http://dbserver.korea.ac.kr