GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: Tajo와 SQL-on-HadoopGruter
- 관련 기술 트렌드 소개
- Tajo의 아키텍쳐와 로드맵
Tajo는 Big Data 분석 처리 엔진 분야에서 핫이슈로 부상하고 있는 SQL-on-Hadoop의 차세대 핵심 기술로 Apache Incubation 프로젝트로 등록되어 있는 오픈소스이며, Gruter가 개발을 주도하고 있는 프로젝트입니다.
열린세미나 첫번째 발표자료
과거시스템에서의 문제점
그리고 하둡에서는 어떻게 그런문제를 해결했는설명하고
사실 몇가지 불편한점에 대한 이야기
https://www.facebook.com/groups/576473599127259
I will make this presentation for seminar of NIPA
For more information of the seminar, please go to http://www.software.kr/user/seminar.mbs?id=swkr_050102000000&command=view&idx=376830
The Pentaho BI certification training provides a platform—including a server, client tools, and supporting technologies that enable a full spectrum of BI functionality. Our specially designed Pentaho training/tutorial will include Basic Architecture of Pentaho, Introduction to Pentaho BI suite, Pentaho Kettle Tutorial, data integration and data analytics training.
download visit
www.softwaretrainingmaterials.blogspot.com
열린세미나 첫번째 발표자료
과거시스템에서의 문제점
그리고 하둡에서는 어떻게 그런문제를 해결했는설명하고
사실 몇가지 불편한점에 대한 이야기
https://www.facebook.com/groups/576473599127259
I will make this presentation for seminar of NIPA
For more information of the seminar, please go to http://www.software.kr/user/seminar.mbs?id=swkr_050102000000&command=view&idx=376830
The Pentaho BI certification training provides a platform—including a server, client tools, and supporting technologies that enable a full spectrum of BI functionality. Our specially designed Pentaho training/tutorial will include Basic Architecture of Pentaho, Introduction to Pentaho BI suite, Pentaho Kettle Tutorial, data integration and data analytics training.
download visit
www.softwaretrainingmaterials.blogspot.com
O documento discute o Pentaho PDI, uma ferramenta open source para ETL e integração de dados. Apresenta cinco cenários comuns de uso do PDI, incluindo integração de dados de vários sistemas, migração de dados e ambientes complexos de BI. Também descreve os principais componentes e funcionalidades do PDI como extração, transformação e carregamento de dados de diferentes fontes.
The document discusses Kettle, an open source ETL tool from Pentaho. It provides an introduction to the ETL process and describes Kettle's major components: Spoon for designing transformations and jobs, Pan for executing transformations, and Kitchen for executing jobs. Transformations in Kettle perform tasks like data filtering, field manipulation, lookups and more. Jobs are used to call and sequence multiple transformations. The document also covers recent Kettle releases and how it can help address challenges in data integration projects.
Pentaho Business Intelligence Services offers an innovative solution for maximum credibility, so that the customers can manage their business as well as focus on business growth. Find out more through this PPT
Embeddable data transformation for real time streamsJoey Echeverria
This document summarizes Joey Echeverria's presentation on embeddable data transformation for real-time streams. Some key points include:
- Stream processing requires the ability to perform common data transformations like filtering, extracting, projecting, and aggregating on streaming data.
- Tools like Apache Storm, Spark, and Flink can be used to build stream processing topologies and jobs, but also have limitations for embedding transformations.
- Rocana Transform provides a library and DSL for defining reusable data transformation configurations that can be run within different stream processing systems or in batch jobs.
- The library supports common transformations as well as custom actions defined through Java. Configurations can extract metrics, parse logs, and perform
Data Virtualization Reference Architectures: Correctly Architecting your Solu...Denodo
Correctly Architecting your Solutions for Analytical & Operational Uses reviews the two main types of use cases that can be solved with the Denodo Platform. Both high concurrency scenarios and big reporting use cases are discussed in this presentation in a comparative way, explaining the different approaches that you must take to be successful in any situation.
This presentation is part of the Fast Data Strategy Conference, and you can watch the video here goo.gl/wdZgpo.
Building Data Integration and Transformations using PentahoAshnikbiz
This presentation will showcase the Data Integration capabilities of Pentaho which helps in building data transformations, through two demonstrations:
- How to build your first transformation to extract, transform and blend the data from various data sources
- How to add additional steps and filters to your transformation
Supporting Data Services Marketplace using Data VirtualizationDenodo
The document discusses an Enterprise Data Marketplace that would serve as a centralized repository for reusable data assets. It would allow all internal and external data sources to be unified and accessed through a single portal. This marketplace would standardize data access, reduce redundant data retrieval, and provide benefits like governance of data services and an abstraction layer to reduce direct access to source systems. Screenshots are provided of the marketplace's potential capabilities like searching for data assets, a data dictionary, and shopping cart functionality.
This document provides an overview of Apache Sentry, an open source authorization module for Hadoop. It discusses how Sentry provides fine-grained, role-based authorization across Hadoop components like Hive, Impala and Solr to address the fragmented authorization in Hadoop. Sentry stores authorization policies that map users and groups to roles with privileges for resources like databases, tables and collections. It evaluates rules to determine access for a user based on their group memberships and role privileges.
Presto is an open source distributed SQL query engine that allows interactive analysis of data across multiple data stores. At Facebook, Presto is used for ad-hoc queries of their Hadoop data warehouse, which processes trillions of rows and scans petabytes of data daily. Presto's low latency also makes it suitable for powering analytics in user-facing products. New features of Presto include improved SQL support, performance optimizations, and connectors to additional data sources like Redis and MongoDB.
Designing an Agile Fast Data Architecture for Big Data Ecosystem using Logica...Denodo
Autodesk designed a modern data architecture that heavily uses data virtualization to integrate both legacy data sources and contemporary big data analytics like Spark into a single unified logical data warehouse. In this presentation, you will learn how to build a logical data warehouse using data virtualization and create a single, unified enterprise-wide access and governance point for any data used within the company.
This presentation is part of the Fast Data Strategy Conference, and you can watch the video here goo.gl/Ab4PDB.
Logical Data Warehouse and Data Lakes can play a role in many different type of projects and, in this presentation, we will look at some of the most common patterns and use cases. Learn about analytical and big data patterns as well as performance considerations. Example implementations will be discussed for each pattern.
- Architectural patterns for logical data warehouse and data lakes.
- Performance considerations.
- Customer use cases and demo.
This presentation is part of the Denodo Educational Seminar, and you can watch the video here goo.gl/vycYmZ.
빅데이터 개념 부터 시작해서 빅데이터 분석 플랫폼의 출현(hadoop)과 스파크의 등장배경까지 풀어서 작성된 spark 소개 자료 입니다.
스파크는 RDD에 대한 개념과 spark SQL 라이브러리에 대한 자료가 조금 자세히 설명 되어있습니다. (텅스텐엔진, 카탈리스트 옵티마이져에 대한 간략한 설명이 있습니다.)
마지막에는 간단한 설치 및 interactive 분석 실습자료가 포함되어 있습니다.
원본 ppt 를 공개해 두었으니 언제 어디서든 필요에 따라 변형하여 사용하시되 출처만 잘 남겨주시면 감사드리겠습니다.
다른 슬라이드나, 블로그에서 사용된 그림과 참고한 자료들은 작게 출처를 표시해두었는데, 본 ppt의 초기버전을 작성하면서 찾았던 일부 자료들은 출처가 불분명한 상태입니다. 자료 출처를 알려주시면 반영하여 수정해 두도록하겠습니다. (제보 부탁드립니다!)
http://www.infiniflux.com/download
- InfiniFlux : 시계열 데이터를 저장, 처리하는 초고속 데이터베이스
- 이를 지원하기 위해서는 오라클 혹은 DB2와 같은 전통적인 데이터베이스(Conventional DBMS)와 매우 다른 성격을 가짐
- 로그성 시계열 지원 제품 아키텍처 및 특성을 이해하는 것이 중요
- 초당 수십만 건의 레코드를 저장하면서 동시에 SQL을 통해 해당 데이터를 분석하는 핵심 기능을 제공하기 위한 기술적 특성 기술
전통 기술과의 차이점에 대해 기술하고, 각 항목에 대한 세부적인 내용을 설명
1. 1
Hybrid / Logical Data Warehouse
1. 배경
2. 전체 Architecture
3. ODS Layer – Hbase
4. DW Layer – Hadoop / DM Layer – RDB
5. ETL – Stream & Mapreduce to Multi Target
6. 고려사항
7. 추가 고려 필요 사항
양흥순, [email protected]
2. 2
1. 배경
ODS와 Data Mart가 통합된 환경의 문제점을 해결하는, 최적화된 방안을 찾기 위함
요건 현황 및 문제점 해결 방안
1. 시간별 배치 리포팅
2. 리포팅 결과로 부터 Drill
Down 가능해야 함
3. 문제 발생시, 장기간의
데이터에 대한 탐구적
데이터 탐색이나 데이터
마이닝도 함
현황
1. ODS와 Data Mart를 통합한,
Hourly Data Mart로 구성
2. 상용 MPP DBMS 도입
문제점
1. Hourly Batch를
만족시키려고, Data Mart의
부하 제약함
- 짧은 기간의 데이터 보관
- 사용자 직접 쿼리 제한
2. 데이터 탐색 등에 필요한
원천 데이터 전체를
보관하지 못함
- 원천+시계열 형태의 DW
없음 (용량/처리시간)
3. 상용 MPP RDBMS의 용량
한계 및 비용
저렴하고, Scalable한 대용량
데이터 관리/처리 Infra
데이터 처리/활용 패턴에 따른
정보계 Layer 구분
+=
Hybrid / Logical
Data Warehouse
3. 3
2. 전체 Architecture
기존 통합형 DW에 비하여, 분석계의 Layer의 데이터처리/활용 패턴에 따라 별도의 Infra를
사용함. 또한 데이터의 처리 방법이 SQL 에서 벗어남에 따라, 데이터 흐름에 변화가 있음
전체 Architecture
Source ETL 1차 - Stream ODS - Hbase
DM - RDB
탐구DW/Archive - Hadoop
Data 활용
.
.
.
.
수집 Stream
ODS 가공
DM 가공
DW/Archive
가공
2차 요약 (선처리)
2차 요약
Daily Merge
Formatting
BI
( OLAP / Data
Discovery )
Direct Access
/ User-
Developed
App
Fixed
Format
: Critical Path
ETL - 전송 타영역
: Daily/Hourly Batch
Hive
4. 4
중소규모 데이터의 빠른 처리, Key 를 이용한 Query/Join, Update 를 위해 NoSQL 활용
ODS Layer 의 모델링 (DM Layer와 비교)
3. ODS Layer - Hbase
Why Hbase for ODS
Why Not
Hadoop
1
• Hourly Batch의 처리를 위해 중소규모
데이터에 최적화 필요
2
• 특정 시간 구간 내의 데이터 처리 뿐만
아니라, Key를 이용한 Query/Join 을
빠른 시간에 처리해야 함
3 • 레코드 Update 처리가 되야 함
Why Not
RDB
1
• 대규모 MPP 가 가능하면서, Columnar
를 동시에 지원
2 • 상용대비 저렴
3
• 정형 Online Reporting에만 사용할
것이므로, SQL의 편이성이 필수가
아님
기존의 DM /w RDBMS :
데이터 용량 및 SQL 처리의 편의를 고려한 지표별
Subset의 구성. 데이터 조회시 다시 Join
원천 테이블
주문이력공통이력 반품이력
ODS /w Hbase :
Columnar 특성 및 Java Application 특성을 고려
한 비정규화
SQL1 SQL2 SQL3
원천 테이블
주문속성공통속성 반품속성
Java Stream App
- 원천 조회
- 공통속성 구하기
- If (초기주문) then 주문속성 구하기
- if (반품) then 반품속성 구하기
- 데이터 입력
Hbase Coprocessor
or
Mapreduce
5. 5
DW Layer는 고급사용자의 제한된 접근이나, Archive 용도를 감안해 저렴한 Hadoop으로 구성.
DM Layer는 대부분의 EUC 및 다른 시스템의 데이터 제공을 원활하게 하기 위하여, RDB 활용
DW Layer 의 모델링 및 데이터 처리 고려사항
4. DW Layer – Hadoop / DM Layer – RDB
Why RDB for Data Mart
공통 1
• 사용자나 다른 Tool에서 친숙한 SQL
(Complex SQL 포함) 을 지원해야 함
Why Not
Hadoop
1
• 많은 사용자의 중소규모 조회가 많을
것이므로, Response Time 중요
2
• Multi-path Report 의 경우도 유연하게
대응해야 함
Why Not
Hbase
1
• Online Reporting에 영향을 완전히
배제하기 위함
2
• 타영역에서 데이터 추출 및 Join을
쉽게 하기 위함
단, 타 시스템 연동 지연을 최소화 하기 위하여,
1차요약 데이터는 Stream으로 전달
원천테이블
계약ID
이력발생일시
이력속성
DW 파일
계약ID
유효시작일시
유효종료일시
이력속성
• 데이터 분석시 성능/편의를 위해서
선분이력으로 구성 필요
• 하지만 선분이력의 경우, 이전
레코드의 유효종료일시를 Update 를
해야 함
• HDFS 특성상 Update는 처리 비용이
크기 때문에 Daily 로 처리해야 하며,
Update할 최소한의 Partition을 찾는
로직을 구사해야 함
여기서 DW는 일반적인 DM의 Source 역할이
아닌, 탐구용/Archive용에 더 가까우며,
Inmon의 ER Style 임
6. Stream을 이용하여, 추출과 동시에 일부 로직을 처리하여 Batch Time 줄임. 유사한 데이터가
ODS와 RDB에 양쪽에 적재되지만, 로직은 한 군데만 두어 통합성 유지
5. ETL – Stream & Mapreduce to Multi Target
Stream 처리 예시
ETL 1차 - Stream
수집 Stream
ODS 가공
DM 가공
DW/Archive
가공
ODS -
Hbase
주문이력 검사
직전 주문시간을 구해야 하는 주문이력인가?
직전 주문시간 속성 셋팅
직전 주문시간이 Stream 상에 있는가?
Stream 에서 직전
주문이력 정보 가져옴
ODS에서 직전
주문이력 정보 가져옴
ODS 입력DM가공 Stream 에 전달
DM –
RDB
직전 주문시간이 구해져 있는가?
DM_주문시간
테이블입력
Case 1 : 대용량 Stream과 작은 용량의 마스터만 Join 해서
처리 가능한 로직
마스터를 Stream 내 Memory로 Load해서 처리
Case 2 : 대용량 Stream 간 Join이 필요하지만, Join 되는
데이터의 시점차가 거의 같은 경우
일단 Stream 내에서 Join 하고 없는 경우만 별도로
모아서 DB에서 찾아옴
Case 3 : 대용량 Stream 간 Join이 필요하고, 데이터간 시점차도
큰 경우
일단 Hbase 에 넣고, 2차로 배치 처리
7. 아키텍쳐 구성시, 다음과 같은 사항을 고려했음
6. 고려사항
추가 고려 필요 사항
1 Why Stream
• 특정 시점의 이력데이터와 비교적 작은 데이터 (주로 마스터) 만 가지고 처리할 수 있는 로직의 경우는 추출하면서 동시
처리해서, Batch 부하를 분산하고, Delay Time을 줄임
• 최대 결과를 Async로 3곳에 씀 (hbase, hadoop, rdb)
2 Why Hbase
• 서로 시점 차가 나는 데이터를 key를 통해 조인해야 하는 경우를 위함
• hadoop의 sequential search의 경우 partition 할 기준도 없으므로 느릴 것임
• in-memory db 의 경우는 메모리의 제한으로 힘들 것임
• 그럼 병렬처리 가능하면서 Free인 거는 결국 hbase
3 Why Hadoop
• 데이터 탐색/마이닝의 경우 처럼 한 번에 큰 데이터를 처리해야 할 때는, memory cache가 오히려 불리
• Archive 의 역할도 해야 하므로, 저렴해야 함
4 Why 3 Cluster
• 데이터 탐색/마이닝의 부하와 online reporting 부하를 분리하기 위함
• Hadoop 2.0 은 online/batch를 다 지원하지만, 그건 사실 오라클/DB2 등 범용 DBMS도 마찬가지임
• OLTP/DSS를 모두 지원하지만, 그렇다고 그 두 업무를 한 instance 에 담는 것이 오히려 비효율적일 수 있음
5 Why 1 ODS • 데이터의 통합 및 교환 리포팅 고려
6
Why RDB for
Mart
• hbase + hive : 혹시나 online reporting에 장애 줄까봐 피함
• hadoop + hive : 그래도 마트는 많이 활용되는 편일 텐데, hadoop 으로 느리게 볼 필요 없음. 특히 다단계 리포트
• 제일 좋은 거는, 여러 Tool에서 지원하고 (SQL), 데이터의 처리와 조회를 병렬로 수행가능하고, 컬럼베이스인 DBMS Vertica?
HANA?
8. 아키텍쳐 구성시, 다음과 같은 사항을 고려했음
6. 고려사항 - 계속
추가 고려 필요 사항
7
Stream 결과를
어디에
보관하지?
• Stream에서 재사용 할 건 : Online Reporting 에 Critical 하므로 ODS – hbase에 보관
• online reporting에서 쓸 건 -> 부하의 분리를 위해서는 hbase가 유리. drill down을 위해서는 RDB가 유리 (위 질문과 상통함)
- 대부분 2차 요약 마트를 가지고 online reporting 함
- 리포트의 특성상 한 데이터셋을 여러 리포트에서 쓰므로, hadoop은 좋지 않음
- 어차피 hbase에서 데이터를 꺼내서 요약한 후 다시 써야 하니, 다시 쓸 때 hbase/RDB 양쪽에 씀 (요약했으니 데이터 량은
크지 않을 것임)
- online reporting은 hbase 꺼를 가져다 쓰고 (Hive? Hbase framework?), 비정형은 동일한 데이터를 RDB에서 보게 해줌
• online reporting은 아니지만, 다른 영역 (ex. Non-Hadoop analytic systems)에서 쓸 건?
- hbase꺼를 그대로 쓴다면, 서로 조인 할 때 힘들 거고, RDB로 옮긴 다음에 쓸꺼면 IF타임이 걸림..
- 결국 RDB에도 적재하되, stream 화 해서 IF타임을 줄임
8
2차 요약작업
방법은?
• map reduce? 딴 거 있나?
• 성능이 중요하다만, Hive로 하는 경우는 거의 없을 것임. 성능을 위해 custom MR (job 병합 등) 을 쓸 개연성 높음
• 선처리를 위해서 hbase 내에서 coprocessor 쓰는 것도 고려 필요
9. 다음과 같은 추가 고려 필요 사항이 있음
7. 추가 고려 필요 사항
추가 고려 필요 사항
1
• 오류나, 신규 서비스/속성의 초기적재 로 인한 재적재 방안
• 어느 소스에서 어떤 PGM으로?
2 • PM 을 포함한 장애시 Catch-Up 방안
3
• ROI 산정 방안
- 성능 : 성능은 일단 기존과 동일하게 맞춘다고 가정
- 구축비용 – Infra : 기존 RDB에서는 ETL 부하가 빠지므로 그 만큼 라이선스 비용 감소. 대신 Bigdata Platform 비용이 들어감
- 구축비용 – 공수 : RDB로 유지시 보다 Bigdata Platform 전환이 비용이 클 것임
- 정성적 : 사용자가 직접 고급 분석을 할 수 있는 토대가 마련됨
- 관리비용 : Infra 유지보수 비용 위주. 분명 Bigdata platform 이면 유지보수 인원 측면에서도 multi-skill 이 되야 하지만, 이건 결국
나중에는 다 돼더라..