Big Architecture 2014.10.23 SK C&C Platform 사업팀이정일차장
Table of 1. Big 개요 2. Big 플랫폼아키텍처 3. 아키텍처수립시고려사항 4. 하둡배포판기반아키텍처 5. Case Study
1. Big 개요 Big 란 Big Big Big Big 3
1. Big 개요 Big 의특성 3V 데이터의크기 (Volume) 데이터생성속도 (Velocity) 데이터의다양성 (Variety) 빅데이터플랫폼을정의하는절대기준은없지만 기존플랫폼이감당하지못하는데이터사이즈와처리량이전제되어야함 < 4
1. Big 개요 Big 의입지 Hype Cycle 2013 Big 5
1. Big 개요 Big 의입지 Google Trends 6
1. Big 개요 Big 의최근트렌드 실시간데이터수집및분석 다양한업종으로확대 금융업, 제조업 데이터융합 서로다른사업군또는그룹차원의활용 데이터허브 Open API, 데이터판매, 공공확대 최근트렌드변화의시사점은 : 빅데이터분석의결과에대한정량적인성과지표가가능 7
Table of 1. Big 개요 2. Big 플랫폼아키텍처 3. 아키텍처수립시고려사항 4. 하둡배포판기반아키텍처 5. Case Study
2. Big 플랫폼아키텍처 아키텍처기본컨셉 기존의데이터아키텍처 -> Hadoop 추가 9
2. Big 플랫폼아키텍처 전통적플랫폼아키텍처 Scale-out (Web Service 예 ) HTTP Server Business logic Cache Server Cached HTTP Server DBMS Business logic Legacy Transport 통계 분석 Mart SAN 10
2. Big 플랫폼아키텍처 기능별아키텍처 저장아키텍처 HTTP Server Business logic Cache Server Cached HTTP Server DBMS HADOOP HDFS : Hadoop 이 Business 기본제공하는 logic 분산파일시스템 NoSQL : 구글의 BigTable 에기반한 Key/Value DB, Document DB 등 Legacy Transport 통계 분석 Mart HDFS 11
2. Big 플랫폼아키텍처 기능별아키텍처 저장아키텍처 HTTP Server Business logic Cache Server Cached RDBMS NoSQL Hadoop HDFS HTTP Server 비즈니스데이타 ( 계좌, 고객등 ) 엄격한트랜잭션 처리 (ACID) 다수의사용자에대해정합성과안정성보장 100% SQL Compliance SNS, 블로그등의텍스트 Partial Consistency ->Delay 허용 유연성과효율성 특화된용도에맞게사용 RDBMS 와는보완관계 웹 / 센서로그등의 low density data Business Parallel logic Batch Processing 트랜잭션지원안함 데이터전처리및집계에적합 DBMS 고비용 선택의폭이넓어짐 Legacy Transport 저비용 통계 분석 Mart HDFS 12
2. Big 플랫폼아키텍처 기능별아키텍처 데이터수집 / 연동아키텍처 HTTP Server Business logic Cache Server Cached HTTP Server Sqoop : RDBMS에있는데이터를 SQL 을통하여 Hadoop HDFS와연동 Business logic Flume : 다양한다수의서버로부터데이터를수집해서 HDFS에저장하는프레임워크 DBMS Legacy Sqoop Flume-NG 통계 분석 Mart HDFS 13
2. Big 플랫폼아키텍처 기능별아키텍처 데이터수집 / 연동아키텍처 HTTP Server Sqoop Flume 기타데이터연동방법 JDBC 기반 : 다양한 DBMS 벤더와 공동작업 사용자프로그램코드의자동생성 HTTP Server : 데이터처리하는 MR프로그램지원 Hive와통합 : SQL 기반환경으로 편리하게이용가능, Hive의메터스토어에테이블명세자동제공 다양한시스템의다양한초기 : FTP + Manual Business logic 형식의데이터를 HDFS로수집 Fuse : 설정및구성이 비교적간단하여대표적인로그수집시스템으로이용 Business logic Fail-over, 유연성등대규모로그처리에적합한기능을가짐 Kafka : HDFS 경로를시스템의파 DBMS 일시스템으로 Mount 하여로컬파일시스템처럼사용 Cache Server Cached 안정적인성능보장 : Mapper 설정등 Flume 과유사, 메시지큐기능을포함 Legacy Sqoop Flume-NG 통계 분석 Mart HDFS 14
2. Big 플랫폼아키텍처 기능별아키텍처 데이터처리 / 분석아키텍처 HTTP Server MR, Pig, Hive, Mahout Cache Server Cached HTTP Server DBMS HADOOP Mapreduce : Pig, Hive : 하둡상위레벨의스크립트지원으로 MR 을쉽게접근하도록함 Mahout : 분산처리머신러닝 Legacy Lib. Flume-NG Tajo, Impala : SQL 형태의질의를통한데이터처리 (Hive 보완시도 ) Tajo, Impala 통계 분석 Mart HDFS Sqoop 15
2. Big 플랫폼아키텍처 기능별아키텍처 데이터처리 / 분석아키텍처 MapReduce HTTP Server Pig, Hive Hadoop을구성하고있는 MapReduce 의복잡함을 2가지요소중하나덜어주기 위한상위레벨의스크립트 데이터를처리하는알고리즘의하나로 Hadoop 이전 HTTP Server Pig는기존에구축해놓은부터사용되고있었음사이트위주로사용 MR, Pig, Hive, Mahout DBMS Cache Server Cached MR2 출시로인해 Learning Curve 존재함 SQL 형식의 Hive가주로사용됨 Tajo, Impala Mahout Impala, Tajo 하둡기반으로 MR 을이용해클러스터링, 분류, 분석작업등을수행 확장성이있으면서도병렬처리가능한기계학습라이브러리를만드는것이목표임 Hive 에단점을보완하기위한시도 Apache Tajo : hdfs에저장된파일을별도의 Legacy 컴퓨팅플랫폼을이용하여질의실행 ( 그루터주도 ) Flume-NG Cloudera Impala : 메모리이용이특징 통계 분석 Mart HDFS Sqoop 16
2. Big 플랫폼아키텍처 기능별아키텍처 데이터처리 / 분석아키텍처 public class FruitPromotion { HTTP Server // 맵함수 public static class FruitMapper extends Mapper<Text, Text, Text, Text>{ public void map(text key, Text value, Context context) throws IOException { String [] idx = value.tostring().split(, ); context.write(idx[2], idx[3]); } } MR, Pig, Hive, Mahout HTTP Server // 리듀스함수 public static class FruitReducer extends Reducer<Text, Text, Text, Text>{ public void reduce(text key, Iterable<Text> values, Context context) throws IOException { int total = 0; for (Text val : values) { total = total + Integer.parseInt(val.toString()); } context.write(key, new Text(total)); } } Tajo, Impala Cache Server SELECT F_NAME, SUM(PRICE) FROM TB_SALE GROUP BY F_NAME PIG DBMS Cached pig> A = LOAD '/tmp/fruit/' USING PigStorage(,'); pig> B = GROUP A BY $2; pig> C = FOREACH B GENERATE group, COUNT(A.$3); } // 실행 Main public static void main(string[] args) throws Exception { Configuration conf = new Configuration(); Job job = new Job(conf, "dictionary"); job.setjarbyclass(fruitpromotion.class); Legacy job.setmapperclass(fruitmapper.class); job.setreducerclass(fruitreducer.class); job.setinputformatclass(keyvaluetextinputformat.class); FileInputFormat.addInputPath(job, new Path("/tmp/fruit/")); FileOutputFormat.setOutputPath(job, new Path("output")); System.exit(job.waitForCompletion(true)? 0 : 1); } Flume-NG pig> STORE C INTO 'output' using PigStorage(','); HIVE Sqoop hive> SELECT TB_SALE.F_NAME, sum(tb_sale.price) 통계 FROM TB_SALE GROUP BY TB_SALE.F_NAME; 분석 HDFS Mart 17
2. Big 플랫폼아키텍처 기능별아키텍처 실시간처리 / 분석아키텍처 HTTP Server MR, Pig, Hive, Mahout Cache Server Redis (In-Memory) HTTP Server Storm, Spark DBMS Message Queue: 실시간으로수집된 데이터를 Streaming 전송 Storm / Spark : 유입된스트리밍을미리정의한로직에따라처리후유출 Tajo, Impala NoSQL Redis : In-Memory Store로빠른데이터처리가능 Legacy Message Queue Sqoop 통계 분석 Mart HDFS 18
2. Big 플랫폼아키텍처 기능별아키텍처 실시간처리 / 분석아키텍처 HTTP Server MR, Pig, Hive, Mahout Cache Server Redis (In-Memory) HTTP Server Storm, Spark DBMS Tajo, Impala Storm Redis 실시간처리기술 로컬및분산모드지원 확장성 (Scale out), 장애허용 (Fault tolerance)., 뛰어난성능, 다양한프로그래밍언어지원 In-Memory Key-Value DB 라빠른속도가강점 큰용량의데이터를담기엔공간제약이크기때문에실시간처리에적합 Legacy 이벤트중심처리 : 특정한 time window 또는건수를연속적으로처리, 단일머신아키텍처, 선언적 rule 기반처리 (Esper, Drools) NoSQL Sqoop Hadoop 프로세스를메모리상에서처리한다고생각하면간단함 Message 스트리밍중심처리 : 연 Queue 산중심처리, 복잡한시스템구성 (Storm, Kafka, S4) 통계 분석 Mart HDFS 19
2. Big 플랫폼아키텍처 기능별아키텍처 Visualization 아키텍처 HTTP Server Cache Server MR, Pig, Hive, Mahout In-Memory HTTP Server Storm, Spark DBMS Tajo, Impala OLAP / BI Tool / Visualization Legacy Sqoop 현재는상용 OLAP / BI 툴등이 Flume-NG 주류를이룸 분석 Mart HDFS 20
2. Big 플랫폼아키텍처 기능별아키텍처 Visualization 아키텍처 HTTP Server Cache Server MR, Pig, Hive, Mahout In-Memory Kibana HTTP Server Storm, Spark DBMS Elasticsearch Tajo, Impala data data data Apache Flume Collector Legacy OLAP / BI Tool / Visualization NoSQL Sqoop Flume-NG sink LLogs 분석 Mart HDFS 21
2. Big 플랫폼아키텍처 기능별아키텍처 관리운영아키텍처 Cache Server Ambari HTTP Server Server MR, Pig, Hive, Mahout In-Memory Ambari web HTTP Server Hue Storm, Spark DBMS Oozie Tajo, Impala Ambari : hadoop 클러스터에대한설치, 모니터링지원 Oozie : 다양한비즈니스로직에대한워크플로어처리 Hue : 워크플로어생성에대한 UI 제공 Legacy Flume-NG OLAP / BI Tool / Visualization Sqoop 분석 Mart HDFS 22
2. Big 플랫폼아키텍처 기능별아키텍처 관리운영아키텍처 Cache Server Ambari HTTP Server Server MR, Pig, Hive, Mahout In-Memory Ambari web HTTP Server Hue Storm, Spark DBMS Oozie Tajo, Impala Ambari 마법사기반설치지원, 하둡서비스와구성요소의세부구성 metrics 수집및시스템경고에대한 Nagios 를위한 Ganglia 상세 Job 진단및문제해결도구 클러스터히트맵 Oozie MR, Pig, Hive 등을구현한프로세스들의 Workflow를디자인하고실행하게해줌 Legacy XML 형식으로프로세스를 Flume-NG 디자인하므로복잡한프로세스적용에어려움 - 디자인 UI 가필요함 OLAP / BI Tool / Visualization 분석 Mart HDFS Sqoop 23
2. Big 플랫폼아키텍처 기능별아키텍처 Ambari 스크린샷 Cache Server Ambari HTTP Server Server MR, Pig, Hive, Mahout In-Memory Ambari web HTTP Server Hue Storm, Spark DBMS Oozie Tajo, Impala OLAP / BI Tool / Visualization Legacy Sqoop Flume-NG 분석 Mart HDFS 24
2. Big 플랫폼아키텍처 기능별아키텍처 Operation Layer Collection Layer Processing Layer Analysis Layer Service Layer Ambari Hue / Oozie Storm Kibana, Flume, Sqoop Pig, Hive, MR Tajo, Impala Mahout, ElasticSerach Hadoop HDFS, NoSQL D3.js 등 script 구현 Splunk, Burst Tableau, e-cube Teradata Aster, Oracle exadata, IBM Big Insight, EMC SAS, SAP HANA, HP Vertica 25
Table of 1. Big 개요 2. Big 플랫폼아키텍처 3. 아키텍처수립시고려사항 4. 하둡배포판기반아키텍처 5. Case Study
3. 아키텍처수립시고려사항 개인정보보호 / 보안 개인정보보호 빅데이터 3V 특성기반설계 Operation Layer Collection Layer Processing Layer Analysis Layer Service Layer 빅데이터인력구조확보 Legacy 연동 27
3. 아키텍처수립시고려사항 개인정보보호 데이터수집및서비스차원 개인의사생활을권리를침해하지않는범위에서정보의수입, 축적, 분석, 활용 외부데이터결합시관련규정확인 데이터운영차원보안체계수립및개인정보암호화에대한논의를반드시수행보안체계가갖추어진제품및오픈소스 (Knox, Accumulo) 에대한검토필요에따라데이터전송시암호화설정 28
3. 아키텍처수립시고려사항 데이터사이즈 데이터사이즈에무관한완벽한아키텍처는존재하지않음 유입되는데이터의크기, 주기, 저장기간등을고려하여아키텍처를선정 (Hadoop 클러스터의경우 ) 최초설계시 Scale-Out 을고려하여규모를산정함 규모산정참고 : http://hortonworks.com/resources/cluster-sizing-guide/ 29
3. 아키텍처수립시고려사항 Legacy 연동 Legacy 에기존재하는시스템을이용할경우, 연동에관련된아키텍처도함께고려 연동되는데이터의양은최소화하도록프로세스설계 오픈소스로대체하는것만이최선의선택은아님 - 현업의 Language 로커뮤니케이션하는것이 Risk 를줄이는방법 Core 는변동성없이유지하는것이관건 30
3. 아키텍처수립시고려사항 전문인력보유 Biz Expert ( 현업전문가 ) : 빅데이터활용과목적을현업관점에서접근하는역할 Big Consultant : 현업전문가, Scientist 를연결하면서비즈니스관점에서의 Big 를전개시키는역할을하며, 최고경영자에게 Big 를바탕으로필요한미래예측의결과가도출되도록전반적인자문 Analyst ( 분석가 ) : 비정형 정형데이터와다양한특성의데이터를어떤방식으로처리, 분석하고어떤표현방식으로결과물을만들것 (Visualization) 인지데이터분석설계를맡아가장핵심적역할을수행 Engineer (IT 전문가 ) : 데이터사이언티스트와함께빅데이터플랫폼구축을담당. 예를들면, 하드웨어및소프트웨어인프라개발과관리를담당 31
3. 아키텍처수립시고려사항 Scientist 데이터를수집, 정리, 조사, 분석, 가시화할수있는전문가 기본적으로프로그래밍기술, 통계, 데이터분석에대한전문적지식보유 과학자로서호기심을가지고새로운가설정의및검증능력보유 스토리텔링능력과패턴및알고리즘구성, 시각화기술보유 최고유망신규직종으로 Scientist 를선정 (CNN 2012) 21 세기의 가장매력적인 직종으로 Scientist 를선정 (Harvard 비즈니스리뷰 ) 2018 년까지미국에서만 14 만 ~19 만명의데이터분석전문가가추가로필요 150 만명의데이터분석기반의관리자가필요할것이라고분석 ( 맥킨지 ) 32
Table of 1. Big 개요 2. Big 플랫폼아키텍처 3. 아키텍처수립시고려사항 4. 하둡배포판기반아키텍처 5. Case Study
4. 하둡배포판기반아키텍처 전문업체위치 Forrester Wave : Big Hadoop Solutions, Q1 2014. 34
4. 하둡배포판기반아키텍처 아키텍처기본컨셉 Hadoop 플랫폼 35
4. 하둡배포판기반아키텍처플랫폼소개 Hortonworks 36
4. 하둡배포판기반아키텍처 Global Big 3 오픈소스 3 사비교 HDP CDH MapR Open Source 100% - all code contributed to Apache, ZERO proprietary Open Core, focus on proprietary, packagers of open Rewritten core, no longer Apach e Hadoop, proprietary Stable Hadoop Version 1 Every release closest to Open S ource Trunk Fork early patch often hundred s of proprietary patches Not Apache, proprietary only Expertise 19 Hadoop Core 95 Across All Project 8 Hadoop Core ~20 Across All Project 1 Hadoop Core <10 Across All Projects Focus & Strategic innovat ion Hadoop 1, Hadoop 2, Ambari, Hive, Ecosystem Proprietary Components, Impala and Manager HBase Rewrite HDFS Rewrite Hadoop 2 next gen Had oop beyond batch Architected & Built 95%, only c ompany ready to support Limited involvement, limited kno wledge of YARN Packager, unqualified to support Use Case Fit Infrastructure enablement and specific use cases Infrastructure enablement and specific use cases Online use cases mostly Not well suited for infrastructure Platform Support Windows, Linux Linux Only Linux Only QA/Test Readiness Tested on thousands of node, production ready release only Limited test environment, release beta as GA Limited test environment Ecosystem Enablement & Interoperability Enable and empower ALL apps to benefit from Hadoop. Focus on app vendors like Microsoft, Teradsata, Splunk Competitive with Impala, no foc us on Hive. Focus on pull throug h hardware vendors like Dell and HP Vertical use case focus moves u p stack to competitive. Focus on AWS. Unclear app focus. Leadership Invented open source model Traditional enterprise software Traditional enterprise software 37
4. 하둡배포판기반아키텍처배포판기반의장단점 장점 Hadoop Core에관련된고민이불필요함. 프로세스관점이아닌플랫폼자체오류도해결가능함 오픈소스의빠른개발주기에따른성능업그레이드를보장받음 안정적인서비스개발에주력가능함 중소규모혹은인력소싱이어려운업체에게적합함 38
4. 하둡배포판기반아키텍처배포판기반의장단점 단점 추가비용이발생함 기술력이중시되는업체의경우기술력에대한저평가우려 오픈소스엔지니어를보유하지않을경우, Core 오류에대한수정이불가능함 버전업그레이드에대한적용시기가점차지연됨 충분한엔지니어와기술력을보유한업체일경우배포판의단점을커버할수있음 39
Table of 1. Big 개요 2. Big 플랫폼아키텍처 3. 아키텍처수립시고려사항 4. 하둡배포판기반아키텍처 5. Case Study
5. Case Study. Case #1 신규로빅데이터수집, 저장, 데이터처리, 분석을수행하는빅데이터플랫폼구성업체 : 기본적인데이터구조설계방안 1. 데이터 Layer 설계 2. 데이터 Flow 파악 3. DBMS 선정및구성 4. 데이터모델링 41
5. Case Study. Case #2 고객관리를위해 EDW 가구축되어있어있는웹서비스를제공하는업체 : 모바일서비스로확장한후지속적으로증가하는로그데이터의확장적용방안 42