Hadoop 과오픈소스소프트웨어를이용한비지니스인텔리전스플랫폼구축 (Building Business Intelligence Platform Using Hadoop and OpenSource Tools) PlatFromDay2009 2009. 6. 12 김영우 warwithin@daumcorp.com 다음커뮤니케이션
프리젠테이션개요 비즈니스인텔리전스그리고데이터웨어하우스 비즈니스인텔리전스 데이터웨어하우스 대규모데이터분석과데이터웨어하우징 MapReduce vs. DBMS 왜 Hadoop인가? 문제와해결방법에대한고민 Hadoop을이용한 MapReduce Hadoop 기반데이터웨어하우징솔루션 동기 Hive CloudBase 오픈소스를활용한비즈니스인텔리전스아키텍처 Lessons Learned! 2
비즈니스인텔리전스와데이터웨어하우스 비지니스인텔리전스 (Business Intelligence) Business Intelligence is the process of gathering data, turning that data into information, and sharing that information such that it is useful for increasing top-line efficiency and bottom-line value 3
비즈니스인텔리전스와데이터웨어하우스 데이터웨어하우스 (Data Warehouse) Reporting Single Source of Truth Clean Source Data 4
대규모데이터분석과데이터웨어하우징 MapReduce vs. DBMS Row-oriented DBMS vs. Column-oriented DBMS MapReduce vs. DBMS A Comparison of Approaches to Large-Scale Data Analysis: MapReduce vs. DBMS Benchmarks MapReduce on MPP DBMS Aster Database Greenplum 5
대규모데이터분석과데이터웨어하우징 MapReduce vs. DBMS 6
대규모데이터분석과데이터웨어하우징 왜 Hadoop 인가? 문제와해결방법에대한고민 문제 데이터, 데이터그리고데이터 Scale Up vs. Scale Out 비용 고가용성, 확장성그리고안정성 해결방법? Hadoop! HDFS + MapReduce Framework 확장성 유연성 저비용 성능 오픈소스 7
대규모데이터분석과데이터웨어하우징 Hadoop 을이용한 MapReduce Hadoop MapReduce API Hadoop Streaming Pig Yahoo!, 전체 Hadoop MapReduce 작업의 30% Cascading Java 이외프로그래밍언어를위한 MapReduce 툴킷 데이터웨어하우징프레임워크 Hive CloudBase 8
대규모데이터분석과데이터웨어하우징 Hadoop MapReduce 활용사례 http://wiki.apache.org/hadoop/poweredby 데이터분석 검색인덱싱 데이터마이닝 광고최적화 개인화 로그분석 통계, 집계 Global Information Platforms Evolving the Data Warehouse, Jeff Hammerbacher (Cloudera) 9
동기 "Big Data: Viewpoints from the Facebook Data Team", Yahoo 2008 HackHouse, Jeff Hammerbacher (facebook) 사용자는 Java나다른언어로 Map Reduce 작업을직접개발 비정형질의처리에대한유연성 사용자는 SQL에익숙하다! 개발된 BI/ 리포팅시스템과통합및연동 DBMS에서제공하는스키마 추상화된프레임워크 10
Hive Hive is a data warehouse infrastructure built on top of Hadoop that provides tools to enable easy data summarization, adhoc querying and analysis of large datasets data stored in Hadoop files. Facebook Hadoop Sub Project 11
Hive 컴포넌트 Mgmt. Web UI Browsing Hive CLI Queries DDL Map Reduce HDFS Thrift API Parser Planner Execution Hive QL MetaStore Thrift SerDe Jute JSON.. 12
Hive 주요기능 기본 SQL SELECT FROM WHERE FROM 절의서브쿼리 ANSI JOIN ( 현재 equi-join 만지원 ) 다중테이블 INSERT 다중 GROUP BY 샘플링 파티셔닝 Pluggable Map-reduce scripts using TRANSFORM MetaStore 시스템카탈로그 SQL 백엔드 (Derby, MySQL ) JDBC Driver Hive Web Interface 13
Facebook 의 Hive/Hadoop 활용 데이터집계 예 : 일별 / 주별노출 / 클릭수집계 고객 ( 사용자 ) 분석 비정형분석 데이터마이닝 스팸판별 사용자생산컨텐츠에대한패턴분석 애플리케이션 API 사용패턴분석 광고최적화 Lexicon http://wiki.apache.org/hadoop/hive/presentations 14
Hadoop Statistics @ facebook 610 노드 (1000노드로확장예정 ) 2.5 PB ( 압축후, 400 TB) 매일 15 TB 데이터유입 매일 4000 개의작업, 55 TB 데이터엑세스 매일 15 TB 중간데이터생성 15
Facebook 의데이터웨어하우스구성 Web Servers Scribe Servers Filers Oracle RAC Hive on Hadoop Cluster Federated MySQL 16
Hive 로드맵 BI 플랫폼통합 JDBC/ODBC Columnar 스토리지 (HIVE-352) 통계수집및비용기반쿼리옵티마이저 JOIN 알고리즘개선 인덱스 (HIVE-417) 압축 SQL 지원추가 고급기능 : Cube, Frequent Item Sets Sqoop ( SQL-to-Hadoop ) http://www.cloudera.com/blog/2009/06/01/introducing-sqoop/ http://wiki.apache.org/hadoop/hive/roadmap 17
CloudBase High-performance Data Warehouse System for Terabyte and Petabyte scale analytics Hadoop의 Map Reduce 아키텍처기반으로개발 (Java) Business.com 오픈소스, GPL v2 http://cloudbase.sourceforge.net 18
CloudBase 주요기능 질의언어로 ANSI SQL 지원 데이터타입과 SQL NULL 지원 JDBC 드라이버 DBLINK를통한 RDBMS로데이터연동 문자함수, 날짜 / 시간함수, NULL 처리함수지원 집계함수지원 SUM, COUNT, MAX, MIN, AVG, BCAT LIKE 구문에서정규표현식지원 서브쿼리, 뷰 (VIEWS) 지원 TOP n, ORDER BY, GROUP BY, HAVING 구문지원 테이블인덱싱지원 사용자정의함수 (UDF), 사용자정의타입 (UDT) 지원 19
CloudBase 아키텍처 외부외부클라이언트클라이언트 ( 예 (.. Squirrel, Squirrel, BI BI 애플리케이션애플리케이션,, Web Web UI) UI) CloudBase CloudBaseJDBC Driver Driver RDBMS CloudBase Server 로컬파일 Client Request Dispatcher Parser Job Engine Meta Data Manager Meta 데이터 (XML 파일 ) Hadoop Cluster Map Reduce HDFS 20
CloudBase 최적화 테이블인덱싱 해쉬인덱스 Join 알고리즘구현 Semi Join과비슷함 Inner Join, Outer (left, right, full) Join ORDER BY 구현 질의를최적의 Map Reduce 작업으로변환 SQL을 MapReduce로변환 21
CloudBase on EC2 CloudBase on Amazon s Elastic Compute Cloud (EC2) cluster. Public AMI http://cloudbase.sourceforge.net/index.html#ec2 22
Business.com 의 CloudBase 활용 원본로그파싱 (ETL) 및분석리포팅시스템연동 비정형질의시스템제공 주간, 월간리포트생성 23
CloudBase Scalability Benchmark @ Business.com UserSessions 테이블 40GB 데이터 1억 7천 7백만로우 Business.com 프로덕션데이터베이스에서질의실행 위와동일한질의를 CloudBase(Amazon EC2 cluster) 에서실행 24
CloudBase Scalability Query RDBMS 4 Nodes 8 Nodes 16 Nodes 32 Nodes 64 Nodes select distinct( dateid) from table 7 sec 17 min 10 min 5 min 2 min 1 min 23 sec 17 sec 28 sec select sum(bdcrev) as rev from table where lcase(referingengineword) like 13 min 38 sec 26 min 14 min 7 min 53 sec 3 min 19 sec 2 min 3 sec '%business%card% and geographyid = 332 select * from table where lcase(referingengineword) like 13 min 13 sec 20 min 11 min 6 min 34 sec 2 min 27 sec 1 min 26 sec '%xybtq%' select dateid, sum( bdcrev) as bdcrev from table group by dateid 14 min 8 sec 27 min 14 min 8 min 10 sec 3 min 25 sec 2 min 9 sec select userid, count( userid) as cnt_userid 37 min 52 min 33 min 22 min 17 min 14 min from table group by userid order by cnt_userid 57 sec 11 sec 36 sec 25
CloudBase 로드맵 성능 개발자, 사용자를위한커뮤니티구축 라이선스 26
오픈소스를활용한비즈니스인텔리전스아키텍처 Hadoop RDBMS MySQL, PostgreSQL MonetDB, LucidDB CUBRID ETL/EAI Pentaho Data Integration (Kettle) Talend Open Studio (TOS) BI/OLAP/ 리포팅 In-House Apps BIRT, JasperSoft, Pentaho, Palo 데이터마이닝 27
로그분석 쇼핑검색리포팅및의사결정지원 광고최적화 쇼핑개인화 Hadoop CloudBase Pentaho Data Integration (Kettle) Oracle Java/Flex Pig 28
Lessons Learned! Keep It Simple! 로그 Size Matters! The Unreasonable Effectiveness of Data, Google PoC, 테스트그리고성능평가 비용 문제를해결하기위한최선의선택 Data Integration (EAI, ETL) 리포팅, 시각화, 비즈니스성능관리, 데이터분석 데이터품질 Garbage in, garbage out! 버그, 패치그리고워크어라운드 커뮤니티, 블로그, 포럼, JIRA, 메일링리스트 29
Lessons Learned! 협업 데이터아키텍트, 개발자, 비지니스사용자, 데이터분석가, 오프소스! 시스템관리 시스템설정관리 성능모니터링 / 관리 기술 과 전략 의문제 씹을수있는만큼만물어라! 역시, 어려운문제! 30
참고문헌 Hadoop, http://hadoop.apache.org/ Hive, http://hadoop.apache.org/hive/ CloudBase, http://cloudbase.sourceforge.net Pig, http://hadoop.apache.org/pig/ Clarise Z. Doval Santos and Joseph A. di Paolantonio, "The Economics of BI: How to Drive Cost Effective Strategies, Campus Technology 2007 Presentations About Hive, http://wiki.apache.org/hadoop/hive/presentations Trandeep Singh, CloudBase, Business.com Jeff Hammerbacher, Global Information Platforms Evolving the Data Warehouse, Cloudera Kun Tong, Web scale data mining using PIG, 2nd Hadoop in China Salon DBMS2, http://www.dbms2.com/ BI의비즈니스가치증대를위한데이터통합플랫폼, 한국인포매티카 31
피드백? 질문? 아이디어? 32
감사합니다