Big data application architecture 요약2 관련 자료입니다
많은 참고 하시기 바랍니다.
1. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted C03934969, January 2014 [요약] BigDataApplicationArchitecture -NitinSawanti외 HP ES Korea 이성복
2. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted2 내용 Chapter 1 : Big Data Introduction Chapter 2: Big Data Application Architecture Chapter 3: Big Data Ingestion and Streaming Patterns Chapter 4: Big Data Storage Patterns Chapter 5: Big Data Access Patterns Chapter 6: Data Discovery and Analysis Patterns Chapter 7: Big Data Visualization Patterns Chapter 8: Big Data Deployment Patterns Chapter 9: Big Data NFRs
3. [Chapter 1] BigDataIntroduction
4. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted4 Big Data 참조 아키텍처 BFaaS Industry Business Functions Big data Analysis & Visualization Tools DaaS IaaS PaaS NoSQL and Relational Database Big Data Storage & Infrastructure Layer Infrastructure as a Service (IaaS): • 빅데이터의 기반이 되며 값싼 구성품으로써의 스토리지, 서버, 네트워크 • bare metal 또는 virtual(cloud)로 구성 가능 • 분산 파일 시스템이 이 레이어의 일부 Platform as a Service (PaaS): • The NoSQL data stores and distributed caches that can be logically queried using query languages form the platform layer of big data. • 파일에 저장된 가공되지 않은 비정형 데이터를 위한 논리 모델을 제공. Data as a Service (DaaS): • PaaS 레이어와 통합하는데 사용되는 모든 도구들의 집합 : 검색엔진, integration adaptors, 배치 프로그램 등 • 유연한 컴퓨팅 환경(elastic-computing mode)에 있는 모든 말단 시스템들이 이 레이어에서 제공되는 API들을 사용 Big Data Business Functions as a Service (BFaaS): • 건강, 소매, e-커머스, 에너지, 금융과 같은 특정 산업에서는 패키지 어플리케이션을 구축하여 특정한 비즈니스 요구에 대응하고 공통된(cross- cutting) 데이터 기능을 위한 DaaS 레이어를 향상시킬 수 있다.
5. [Chapter 2] BigDataApplicationArchitecture
6. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted6 Big Data Application Architecture A big data management architecture should be able to consume myriad data sources in a fast and inexpensive manner. Analytics Engines Data Source Hadoop Platform Management Layer Visualization Layer Hadoop Administration MapReduce Statistical Analytics RelationalDB IngestionLayer Monitoring Layer Security Layer Hadoop Infrastructure Layer Hadoop Storage Layer Data Warehouses UnstructuredData ImagesSocialmediaAudio Video Streaming Data Analyst IDE/SDK Visualization Tools Text Analytics Search Engine Real Time Engine Pig Hive Sqoop Zoo keeper NoSQL Database HDFS Bare Metal Clustered Workstations Visualized Cloud Services Analytics Appliances Rack Node Disk CPU Rack Node Disk CPU Rack Node Disk CPU Hadoop 관련 Layer ⑧ ② ⑨ ③ ④ ⑤ ⑥ ⑦ ①
7. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted7 ① Data Sources 기업 내/외부의 다양한 원천으로부터 시간당 대량의 데이터를 엄청 빠른 속도로 유입되고 있음 유입된 데이터는 균일하게 합쳐져서 분석할 수 있도록 넘겨짐 [정말 다양한 data source] Legacy Data Sources • HTTP/HTTPS web services, RDBMS, FTP, JMS/MQ based services, Text / flat file /csv logs, XML data sources, IM Protocol requests New Age Data Sources(Telecom Industry) • High Volume Sources : Switching devices data, Access point data messages, Call data record due to exponential growth in user base, Feeds from social networking sites • Variety of Sources: Image and video feeds from social Networking sites, Transaction data, GPS data, Call center voice feeds, E-mail, SMS • High Velocity Sources : Call data records, Social networking site conversations, GPS data, Call center - voice-to-text feeds Social Media Video Audio Email Texts Mobile Transactional Data Documents IT/OT Search Engine Images StreamingLegacy data
8. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted8 ② Ingestion Layer 데이터 감시자 빠르게 유입되는 다양한 대량의 데이터 중에서 잡 데이터(noise data, 전체 유입 데이터의 90%)를 솎아냄 들어온 데이터를 검증(validate)/정제(cleanse)/전환(transform)/축소(reduce)/통합(integrate)하여 추가 처리 작업을 할 tech stack에 넘겨줌 • Identification : 알려진 다양한 데이터 포맷이나 비정형 데이터에 할당된 기본 포맷을 식별. • Filtration : 들어온 정보들을 MDM repository에 따라 관련된 것들을 추출. • Validation : 새로운 MDM 메타데이터로 데이터 일관성을 검증/분석 • Noise Reduction : 잡 데이터를 제거하고 불필요한 것들을 최소화함으로써 데이터 정제. • Transformation : 데이터를 나누고, 모으고, 비정규화하거나 요약 • Compression 처리과정에서의 연관성을 해치지 않으면서 데이터의 크기를 줄임. 압축 후에 분석결과에 영향을 미치면 안됨. • Integration : 최종 정리된 데이터 셋을 Hadoop storage layer로 전달 Hadoop Storage Layer Identification Filteration Validation Noise Reduction Compression Transformation Integration NoSQL Database HDFS DataSources
9. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted9 ③ Distributed (Hadoop) Storage Layer 클러스터 안의 여러 대의 기계들에서 아주 대량의 데이터(TB 또는 PB)를 저장하기 위해 설계된 파일시스템 데이터를 안전하게 보관, runs on commodity hardware, 파일 전부 또는 일부를 저장하기 위해 블록(block)을 사용, 한 번 쓰고 여러 번 읽는 모델(write-once-read-many model) 지원 숙련된 개발자들만이 HDFS에서 요구하는 복잡한 파일 읽기/쓰기 프로그램을 만들 수 있음 조작 어려움 NoSQL database NoSQL database의 전형적인 비즈니스 시나리오 Shopping carts Web User Data Analysis(Amazon, Linkedin) Analyze Huge Web user Actions Sensor Feeds(Facebook, Twitter) Real-time Analytics Logging Document Archive management Network Modelling Locality Recommendation Key-value Data Stores Column-orientedData Stores Document Data Stores Graph Data Stores Cloudant MarkLogic OpenLink Vertica
10. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted10 ④ Hadoop Infrastructure Layer Storage Layer 밑에 있는 물리적 인프라 분산컴퓨팅 모델 기반 : 데이터는 물리적으로 서로 다른 위치에 저장하되 네트워크와 분산파일시스템을 통해 서로 연결 비공유(share-nothing) 아키텍처 : 노드들끼리 서로 의존성이 없이 각자 처리할 레코드만 보고 처리함 병렬성이 매우 높음 한 노드에 데이터와 기능이 함께 있어야 함. 더 이상 데이터를 SQL 처리 기능이 있는 하나의 서버로 이동시킬 필요 없음. 수많은 서로 다른 출처로부터 들어오는 수많은 데이터를 처리하게 되므로 인프라 차원에서 데이터 중복(Redundancy)은 피할 수 없음 전형적인 빅데이터 하드웨어 topology
11. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted11 ⑤ Hadoop Platform Management Layer HDFS 스토리지 파일시스템을 사용하여 NoSQL 데이터베이스에 접근할 수 있는 tool과 query language 제공 데이터 접근 쿼리 실행 하위 영역 관리 예전에는 무지 비싼 수퍼 컴퓨터로만 처리할 수 있었던 어마 어마한 양의 데이터를 관리할 수 있게 됨. 컴퓨팅 기술의 진화 시스템(CPU, RAM, 디스크 등)의 가격 하락 Big Data platform architecture Hadoop Platform Layer (MapReduce, Hive, Pig) Hadoop Storage Layer (HDFS, HBase) High Speed Network Cache Solid State Disks Metadata Cache Local Disks Metadata Cache SAN Metadata Hadoop Infrastructure Layer… N nodes, Petabytes of Data
12. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted12 MapReduce Map : 문제(problem)나 작업(task)을 다수의 시스템에 분산시키고, 부하를 분산시키는 방법으로 작업을 배치하고, 장애 복구를 관리 key-value Reduce : 분산하여 할당시킨 컴퓨팅 작업이 완료되면, 모든 출력 값들을 새로운 키 기준으로 다시 하나로 묶어서 결과를 제공 ※NameNode의 역할 - HDFS의 모든 메타 데이터 관리 - 클라이언트가 HDFS에 저장된 파일에 접근할 수 있게 함
13. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted13 [참고] Hadoop 시스템 구성 사례 (Sqoop) Flume • 로그수집기 도구 • Source-Channel-Sink 아키텍처로 쉽고 다양한 방식으로 로그를 수집 Oozie • 맵리듀스 잡(Job)을 실행시켜주는 일종의 런처(launcher) 역할을 하는 워크플로우 관리 툴 • 웹서버로 별도로 운용 • 하둡과 연동하여 미리 작성된 워크플로우에 따라 맵리듀스 잡(job)을 실행 • REST API를 제공 자체 웹서버에서 우지 기능을 제어(잡 재실행, 정지 등) 가능
14. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted14 Sqoop RDBMS와 하둡간에 대량데이터를 전송하기 위한 도구 맵리듀스를 통해 출력된 결과(HDFS)를 RDBMS로 Export 또는 RDBMS상에 있는 데이터를 HDFS로 Import할 수 있는 기능을 제공 개별 테이블, 특정 컬럼, 또는 전체 데이터베이스 파일을 직접 분산 파일 시스템이나 데이터 웨어하우스로 불러올 수 있도록 하는 command-line tool 2.0 버전에서는 자체 WAS가 도입되어 REST API 등을 제공 Scoop import process
15. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted15 Zookeeper 다양한 Hadoop 인스턴스와 노드들을 동기화하고 노드의 장애로부터 보호하기 위한 coordinator Coordination은 분산 시스템에서 부분적인 장애를 처리하는데 매우 중요 장애 처리를 위한 다양한 방법들을 사용 : ordering, notifications, distributed queues, distributed locks, leader election among peers, a repository of common coordination patterns. Zookeeper topology 데이터 일관성과 관련하여 Zookeeper가 보장하는 것들: Sequential consistency Atomicity Durability Single system image Timeliness
16. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted16 ⑥ Security Layer 온라인을 통해 유통/관리되는 수 많은 종류의 사생활 관련 정보는 보호되어야 하고 관련 규제를 준수해야 함 분석시 적절한 권한 부여와 인증 방법이 필요 NoSQL의 보안 취약성 분산 아키텍처는 단순한 프로그래밍 모델을 사용 오픈 프레임웤 서비스를 사용 NoSQL의 보안 취약성 NoSQL 기술은 아직 초기 단계이고 해커들의 손쉬운 먹잇감. With large clusters utilized randomly for strings and archiving big data sets, 데이터가 어디에 저장되어 있는지 추적이 어렵게 되거나 불필요한 데이터를 지우는 것을 잊기 쉽다. 나쁜 사람들의 손에 그런 데이터가 흘러들어가 기업에게 보안상의 위협으로 될 수도 있다. 보안을 위해 필요한 조치들 : 노드 인증 : Kerberos 같은 프로토콜을 사용 file-layer 암호화 Subscribes to a key management service for trusted keys and certificates 데이터 셋 배포 또는 가상 노드에 패치 적용시 검증 : Chef 나 Puppet 사용 노드간 통신로그를 남기고, 분산 로그 메커니즘을 사용하여 레이어간 모순(anomalies) 추적 노드간 모든 통신이 안전함을 보장 - Secure Sockets Layer (SSL), TLS 등을 사용
17. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted17 ⑦ Monitoring Layer 데이터 저장과 시각화를 위한 툴 제공 빅데이터 tech stack에 관한 전체적인 그림 필요 모니터링 시스템은 대량의 분산 클러스터들이 federated mode로 배포되어 있는 상황을 파악 다양한 OS와 하드웨어들을 모니터링 기계들과 모니터링 툴간의 연계를 위해 XML같은 high level protocol 사용 Overhead는 적으면서 병행 처리는 높은지를 모니터링하려면 성능(Performance)은 핵심 조건. Open source tools : Ganglia, Nagios
18. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted18 ⑧ Analytics Engine 빅 데이터와 기존의 BI는 공존 서로 다른 문제에 적합한 각기 다른 접근법을 사용 데이터 웨어하우스(DW) : 계속해서 중앙집중화된 환경에서 RDBMS 기반의 트랜잭션 데이터를 관리하게 될 것. 하둡을 기반으로 한 분석 엔진 : 다양한 출처로부터 들어오는 물리적으로 분산된 비정형 데이터를 관리하게 될 것. 데이터 웨어하우스와 빅데이터 저장소간에 (예를 들어, Hive/Hbase를 통해) 양 방향으로 서로 데이터 이동이 있을 때, Sqoop 같은 도구를 이용한 중개 작업이 일어남. 실시간 분석은 웹형 어플리케이션이 만들어내는 데이터를 분석하는데 저지연(low-latency)의 NoSQL 저장소(Cassandra나 Vertica 같은)를 활용 R이나 Madlib 같은 오픈 소스 분석 소프트웨어를 통해 개발자와 데이터 과학자들이 이 복잡한 통계 알고리즘에 쉽게 접근 가능 Big Data platform architecture
19. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted19 Search Engines 어마어마한 양의 데이터를 분석하기 위해서는 blazing-fast(전광석화같은) 반복 인지형 데이터 발굴 메커니즘을 갖는 검색 엔진이 필요. 다양한 어플리케이션으로부터 들어오는 데이터를 분석/처리하기 위해서는 indexing과 검색 필수 전형적인 검색은 데이터베이스 행(또는 Hbase의 key)만으로는 처리될 수 없으므로 추가 필드를 사용하는 것도 고려할 필요. Search engine conceptual architecture DataSource Result Display VisualizationLayer Search Engine Indexing Crawling Hadoop Storage Layer SearchService Big Data Storage Layer • Structured • Unstructured • Real Time Data Warehouse Spelling Stemming Fecting Highlighing Tagging Parsing Semantics Pertinence Query Processing User Management
20. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted20 Real-time Engines 웹에서 생성되는 대규모의 데이터는 아주 잠깐 동안만 가용 스키마를 미리 정할 수 없음 Document-based system은 들어오는 트래픽에 기반하여 메시지를 보낸 다음 (response를 기다리지 않고) 신속하게 다음 기능으로 넘어갈 수 있음 NoSQL store의 규모와 속도 덕분에 데이터가 가용한 순간에 계산이 가능 In-memory caching In-memory database • 데이터는 최적화된 접속 알고리즘으로 메모리에서 관리됨 • 로그 파일, 데이터베이스 체크포인트 파일은 디스크에 저장 • 반복해서 접근되는 데이터는 메모리에 캐시한다 • 데이터가 서버간에 복제되거나 서로 영향을 미치지 않는다. • It harnesses the aggregate memory of many distributed machines by using a hashing algorithm
21. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted21 ⑨ Visualization Layer 너무 많은 데이터는 오히려 정보 과잉으로 부담만 됨 빅데이터 tech stack의 통합 부분에서 초기에 시각화를 데이터를 결합함으로써 데이터 분석의 속도를 높이고 분석을 편리하게 함 Visualization Layer로 가는 절차 ① 빅데이터 하둡 처리를 통해 결과 취합 ② 취합된 결과는 트랜잭션 단위로 분석하기 위해 ODS, 데이터 웨어하우스, 데이터마트로 퍼나름. ③ 이렇게 통합 정리된 데이터 위에서 visualization layer가 작동 실시간 분석을 통한 통찰이 필요하면 complex event processing (CEP)와 event-driven architectures (EDAs)를 활용. Visualization conceptual architecture Traditional BI Tools Structured Data Visualization Tools Big Data Analysis Tools Big Data Storage layer Unstructured Relational Databases NoSQL Databases Data Lakes Data Scoop Operational Data Stores Data Warehouses
22. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted22 [참고] Big Data의 일반적인 Software stack Layer Component Tools Ingestion Layer Flume, Storm, S4, Sqoop, Chukwa, Infospehere StreamManagement Hadoop Storage Layer NoSQL database (database의 구분은 44쪽 참조) Netezza, Vertica, Teradata, Google BigTable, Greenplum, Casandra, Neo4J, OpenLink 등 Hadoop Infrastructure Layer Hadoop Platform Management Layer MapReduce MapReduce, Spark, Nokia Disco SQL Interface Hive, Impala, HAWQ, Hortonworks Stinger Coordinator Zookeeper, Oozie Script Pig Administration Cloudera, DataStax, Hortonworks, IBM Big Insights Security Layer Chef, Puppet Monitoring Layer Ganglia, Nagios Analytics Engines Statistical Analytics R, Pentaho, SAS, Pega Search Engine Solr Text Analysis Realtime Engine In-memory cache(Terracota, EHCache), In-memory Database Visualization Layer Hadoop Administration Cloudera, DataStax, Hotonworks, IBM Big Insights Data Analyst IDE/SDK Talend, Pentaho Visualization Tools Tableau, Clickview, Spotfire, MicroStrategy, SAS VA, MapR, Revolution R Data warehouse Hive
23. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted23 [참고] Database Landscape Data Grid/Cache Non-Relational Relational Operational Analytic NoSQL NewSQL ‘as-a-Service’ Key-Value Document Graph Big Tables Cloud Enabl ement Data Cache SPRAIN Riak Redis Membran Voldemort BerkelyDB Piccolo Hadoop Dryad Brisk InterSystems Objectivity Progress Versant MarkLogic McObject Couchbase Casandra Hypertable HBase CouchDB MongoDB RavenDB Cloudant InfiniteGraph GraphDB Amazon RDS SQL Azure Database.com Xeround FathomDB Lotus Notes MapR Hadapt Infobright Neteza ParAccel SAP Sybase IQ Teradata EMC Calpont IBM InfoSphere Aster Data GreenPlum VectorWise HP Vertica Oracle IBM DB2 SQL Server JustOne Neo4J MySQL Ingres PostgreSQL SAP Sybase ASE EnterpriseDB Akiban MySQL Cluster Clustrix GenieDB ScalArc CodeFutures NimbusDB VoltDB HandlerSocket Schooner MySQL Tokutek Continuent ScaleBase Translattice Drizzle Terracotta GigaSpaces Oracle Coherence memcached IBM eXtreme Scale GridGain ScaleOut Vmware GemFire InfiniSpan CloudTran
24. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted24 [참고] Hadoop Eco-system 메타 데이터 관리 (Hcatalog) 분산 데이터베이 스 (HBase) 실시간 SQL 질의 (Impala, Tajo) 정형 데이터 수집 (Sqoop, Hiho) 비정형 데이터 수집 (Chukwa, Flume, Scribe) 직렬화 (Avro) 분산 데이터 처리 (MapReduce) 분산데이터 저장 (HDFS) 데이터 분석 데이터 마이닝 (Mahout) 분산 코디네이터 (Zookeeper) 워크플로우 관리 (Oozie) 로그수집 (Chuckwa, Flume) Hadoop 클러스터 Provisioning, Managing & Monitoring (Ambari) SQL 질의 (Hive) Script (Pig) 데이터 교환(exchange) (Sqoop, Hiho) ※ HDFS Alternatives : AWS S3, IBM GPFS, EMC Isilon OneFS, MapR MapR File System Hadoop
25. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted25 Big Data 아키텍처와 데이터 패턴 1.Data Source 5-1. Stage Transform Pattern 5-2. Connector Pattern 5-3. Near Real-Time Access Pattern 5-4. Lightweight Stateless Pattern 5-5. Service Locater Pattern 2-1. Multisource Extractor Pattern 2-2.Protocol Converter pattern 2-3. Multidestination Pattern 2-4. Just-in-Time Transformation Pattern 2-5. Real-Time Streaming Pattern 3-1. Facade Pattern 3-2. Data Partitioning/Indexing & Lean Pattern 3-3. NoSQL Pattern 3-4. Ployglot Pattern 4-1. Traditional Tree Network Pattern 4-2. Resource Negotiator Pattern 4-3. Spine Fabric Pattern 4-4. Federation Pattern 4-5. Lean DevOps Pattern 6.Security Layer 8-1. Data Queuing Pattern 8-2. Index based Insight Pattern 8-3. Constellation Search Pattern 8-4. Machine Learning Recommendation Pattern 8-5. Converger Pattern 9-1. Big Data Analysis Patterns 9-2. Mashup View Pattern 9-3. Compression Pattern 9-4. Zooming Pattern 9-5. First Glimpse Pattern 9-6. Exploder Pattern 9-7. Portal Pattern 9-8. Service Facilitator Pattern 7.Monitoring Layer 5.Hadoop Platform Management Layer 8.Analytics Engines 9.Visualization Layer 4.Hadoop Infrastructure layer 3.Hadoop Storage Layer2.Ingestion Layer
26. [Chapter 3] BigDataIngestionandStreaming Patterns
27. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted27 Data Ingestion(데이터 수집)이란 나중에 사용하거나 DB에 저장하기 위해 데이터를 취득하고, 받아들이고, 처리하는 과정. 일반적으로는 대개 여러 데이터 소스에서 처리. 데이터 소스가 늘어나면 프로세스는 더 복잡해짐. 빅데이터에서는 원천 데이터의 구조가 알려져 있는 않는 경우가 더 많음 다양한 데이터 유형들을 수집할 때 부딪치는 문제들: Prioritizing each data source load Tagging and indexing ingested data Validating and cleansing the ingested data Transforming and compressing before ingestion ① Multisource Extractor Pattern 다중의 데이터 소스 유형을 수집할 때 ② Protocol Converter Pattern 프로토콜 중재기(protocol mediator)를 사용하여 서로 다른 프로토콜 층에서 들어오는 데이터를 추상화할 때 ③ Multidestination Pattern Ingestion layer에서 여러 저장 공간(HDFS, 데이터마트, 실시간 분석 엔진 등)으로 데이터를 이동시킬 때 사용 ④ Just-in-Time Transformation Pattern ETL을 통해 대량의 비정형 데이터를 배치로 적재 ⑤ Real-Time Streaming patterns 유입되는 데이터를 즉시 분석해야 할 업무상의 필요가 있을 때 데이터 수집과 스트리밍의 일반적인 패턴
28. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted28 Data ingestion layer and associated patterns 빅데이터에서는, 수집할 때 마주치게 되는 특정 유형의 문제들을 해결하기 위해 다양한 솔루션을 사용해서 다양한 대상에 데이터를 적재한다. Ingestion pattern은 데이터 소스와 ingestion layer간의 통신에서 통상적으로 마주하게 되는 문제에 대한 솔루션을 기술함 성능, 확장성, 가용성 요건을 기준으로 솔루션 선택 Hadoop Storage Layer Identification Filteration Validation Noise Reduction Compression Transformation Integration NoSQL Database HDFS DataSources Data Mart / Data Warehouse Real Time Search & Analytics Engine Batch Engine Multi-Source Extractor Pattern Multi-Destination Pattern Real-Time Streaming Pattern Just-in-Time Transformation Protocol Converter Pattern
29. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted29 ① Multisource Extractor Pattern 다양한 출처, 서로 다른 형태의 데이터를 효과적으로 수집하는 방법 공통점이 없는 데이터세트와 비관계형 데이터세트를 조사해야 하는 대량의 비정형 데이터를 갖는 기업 : 클레임, 금융거래, telecommunication, 전자상거래, fraud Detection, 소셜 미디어, 게임 등. 특히 CPU와 I/O 강도가 높은 에너지 탐사 장비나 감시카메라 장비 Multisource Extractor Pattern ② 최종 처리 후 목표시스템에 적재 ① 1차 데이터 취합/정제 ■ 수집 도구/프레임웤의 기본 전제 1) 고도로 분산되어 있고 2) 대량의 데이터가 여러 노드에 걸쳐 여러 개의 Batch로 분리됨 ■ 단점(약점) • Not Real-Time : 30분에서 1시간까지 지연 • Redundant Data : 여러 enricher와 collection에 여러 벌을 복사 • High Costs : 고가용성 환경이 필수 • Complex Configuration : 배치 지향 패턴 Data source 1 Enricher 1 Enricher 2 Node Intermediate Collection Agent 1 Node Intermediate Collection Agent 2 HDFS Data source 2 Data source 3 Data source 4 1 2
30. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted30 [참고] Enricher 한 시스템에서 다른 시스템으로 메시지를 보낼 때 대개 받는 시스템에서는 받는 정보(즉, source 시스템에서 보낸 정보)보다 더 많은 정보가 필요 예를 들어, 보내는 시스템에서는 customer ID만 보내주는데 받는 시스템에서는 고객명과 주소가 같이 필요. 또는 주문관리시스템에서 보내는 주문 메시지에는 주문번호만 보내는데, 받는 쪽에서는 그 주문과 연관된 고객ID가 필요해서 그 정보를 고객관리시스템에 넘겨 줄 필요가 있음 원천 메시지(=받은 메시지)에 필요한 모든 데이터가 들어있지 않을 때 다른 시스템과 어떻게 통신하는가? Content Enricher 같은 특별한 변환기(transformer)를 사용해서 빠진 정보를 보충해 넣기 위해 외부의 데이터 소스에 접근. The Content Enricher는 받은 메시지의 정보(예, key 필드)를 이용해서 외부 데이터 소스로부터 데이터를 받음. 그렇게 필요한 데이터를 받은 다음에는 받은 메시지에 첨부. 처음 받은 메시지의 정보는 그렇게 새로운 메시지로 변하게 되거나 필요없게 될 수도 있음.
31. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted31 ② Protocol Converter Pattern Protocol Converter Pattern 다양한 출처에서 오는 서로 다른 프로토콜을 갖는 data source 때문에 프로토콜 변환이 필요 다양한 프로토콜의 데이터를 해석/변환하여 공통 플랫폼에 넘겨줌 다양한 서로 다른 메시지의 표준화된 구조가 필요 NoSQL 데이터 구조에 맞춘 표준 메시지 형태로 변환 프로토콜 변환을 위해 Ingestion Layer에서 하는 일; 1. 들어오는 여러 이벤트 채널 식별 2. Polydata(복합데이터) 구조 식별 3. 다중 프로토콜을 적합한 장치로 전달하는 서비스 제공 4. 인터페이스 제공 : 여러 메시지 패턴을 갖는 외부 시스템을 공통플랫폼과 결합 5. 다양한 요청을 처리하는 서비스 제공 6. 다양한 프로토콜 층에서 들어오는 데이터를 요약하는 서비스 7. 들어오는 데이터를 다음 층에서 처리할 수 있는 통합 플랫폼 제공 Hadoop Storage Layer NoSQL Database HDFS Files Message Exchanger Message Exchanger Data Mart / Data Warehouse File Handler Router S Web Services Byte Streams RFID Streams P Web Service Handler Stream Handler Seriallizer Async Message Handler
32. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted32 ③ Multidestination Pattern 수많은 데이터 유입으로 저장 공간이 넘치는 문제, RDBMS와 분석 플랫폼이 물리적으로 분리되면서 많은 데이터가 네트워크를 통해 이동해야 하는 문제 등이 발생 비용 늘고, 데이터 오류도 생기고, 데이터 처리에 시간도 많이 걸림 (그래서) 데이터를 여러 데이터 저장소로 분산하여 수집(RDBMS와 NoSQL 저장소)하기 시작 데이터 이동을 HDFS 스토리지 안에서 할 수 있게 되고, Hive나 Pig를 사용하여 데이터 분석. Multidestination Pattern Subscribing destination Enrichers는 publisher뿐만 아니라 subscriber에서도 필요하게 사용될 수도 있음 ※ The destinations have to register with the publishing agent on the router. 등록된 목적지(destination) 수와 데이터 양에 따라 라우터를 하나의 클러스터에 배치 할 수도 있음 Hadoop Storage Layer NoSQL Database HDFS Data source 1 Enricher 1 Enricher 2 Data Mart / Data Warehouse Node Intermediate Collection Agent 1 Node Intermediate Collection Agent 2 Router S Data source 2 Data source 3 Data source 4 Search & Analytics Engine P S
33. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted33 ④ Just-in-Time Transformation Pattern 모든 원천(raw) 데이터를 HDFS로 모은 다음 업무상 용도에 따라 관련 전처리 배치 작업을 실행하여 데이터를 정제하고, 검증하고, 관련있는 것끼리 묶고, 변환함 Raw data as well as transformed data co-existing in HDFS ※ 변환된 데이터의 일부는 HDFS에 그대로 남거나(1), 일부는 분석 등을 위해 다른 저장소로 이동(2) Data source 1 Enricher 1 Enricher 2 Node Intermediate Collection Agent 1 Node Intermediate Collection Agent 2 HDFS Data source 2 Data source 3 Data source 4 1 Transformed Data 1 Transformed Data 2 Transformed Data 3 1-1 1-2 1-3 Raw Data Data Mart DW Real-time Analytics Engine 2
34. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted34 ⑤ Real-Time Streaming patterns 자급자족하고 지연 시간을 최소화하기 위해 개별 처리 노드의 로컬 메모리 사용 비공유(share-nothing) 아키텍처 : 모든 노드는 개별성(atomic responsibilities)을 가지며 서로 의존하지 않음 Real-Time Streaming pattern 실시간 스트리밍 수집 시스템의 특성 Create event Business Process Engine NoSQL Data Sources Event Processing Node Event Processing Node Alerter Click Stream Data Log Streams RFID Streams P Event Listener Event Processing Engine Event Listener Event Processing Engine Coordinator Mobile Dash board BAM redirect 실시간 정보를 빠르게 분석할 수 있는 API 제공 원자성은 클러스터 내 시스템 확장시에도 부품별로 일어남을 의미 중앙의 마스터 노드 없음. 모든 노드는 하나의 스크립트로 배포할 수 있어야 함.
35. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted35 [참고] 스트리밍 데이터 처리 도구 Apache Sqoop • 하둡 빅데이터 노드와 관계형 데이터베이스 간에 대량의 (반정형, 비정형) 데이터를 이동시키는 도구 Chukwa • 로그 기반의 데이터를 분석하고 모니터링하는 분산시스템. • 여러 기계에서 점진적으로 생성된 로그를 모니터링, 처리 • 덧붙이기(appending) 기능 제공 • 데이터를 수집하는 단계와 처리하는 단계를 파이프라인 형태로 구조화 각 단계 사이에는 제한된 수의 인터페이스만을 제공 Apache Kafka • 대용량 분산 메세징 시스템 : LinkedIn에서 자사의 내부 데이터 처리를 위해 개발 • 메시지를 파일 시스템에 저장 • 주요 기능 : I/O 성능 최적화를 위해 압축 사용, 가용성을 높이기 위해 미러링, 확장성 개선, 다중 클러스터 상황에서의 성능 최적화 배치 처리 상태의 파일을 다루는 도구 Flume • 다양한 Source에서 발생된 많은 양의 로그 데이터를 수집하고 병합해서 HDFS로 써 주는 분산처리 시스템 Storm • 이벤트 처리 시스템(event-processing system) : 확장성과 신뢰성을 위해 서비스 클러스터를 사용 • 실시간 스트리밍 기반 데이터 분석 기술 : 다양한 경로를 통하여 유입되는 데이터 중에서 특정한 이벤트를 찾아서 처리 InfoSphere Streams • (텍스트, 이미지, 음성, 이메일, 센서, 금융거래데이터 등의) 이질적인 데이터 유형에 대한 복잡한 분석을 수행 • 디지털 필터링, 패턴/관계 분석, 분해, 기하공간 분석 등을 활용하여 규칙적으로 생성된 데이터의 실시간 분석과 미래 예측을 수행 실시간 스트리밍 데이터를 다루는 도구
36. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted36 빅데이터용 ETL Tools 데이터 웨어하우스에서 요구하는 형태대로 데이터를 이행하는 데 사용 이행은 실제로는 데이터가 데이터 웨어하우스에 적재되기 전에 중간 지역에서 이루어짐 Hadoop Storage Layer NoSQL Database HDFS NoSQL Data Sources Enricher 1 Enricher 2 Data Mart / Data WarehouseInformation Staging Server Node Intermediate Collection Agent 1 Node Intermediate Collection Agent 2 Router P S
37. [Chapter 4] BigDataStoragePatterns
38. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted38 Analytics Engines Data Source Hadoop Platform Management Layer Visualization Layer RelationalDB IngestionLayer Monitoring Layer Security Layer Hadoop InfrastructureLayer Hadoop Storage Layer Data Warehouses UnstructuredData NoSQL Database HDFS Analytics Appliances Big Data Storage Patterns …. HDFS가 전통적인 DW 시스템을 위한 intermittent façade 역할 수행 Façade Pattern Lean Pattern NoSQL Pattern Polyglot Pattern 빅 데이터 문제를 해결하기 위해 다양한 형태의 스토리지 메커니즘(RDBMS, 파일 스토리지, CMS, OODBMS, NoSQL, HDFS)이 공존 빅 데이터에 접근하고 쿼리를 날리기 위해 전통적인 RDBMS 시스템이 NoSQL로 대체 HBase 는 column-family 하나, column 하나, unique row-key를 사용해서 인덱싱됨.
39. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted39 ① Façade Pattern 한 서브시스템 내의 인터페이스 집합에 대한 획일화된 하나의 인터페이스를 제공하는 패턴으로, 서브시스템을 사용하기 쉽도록 상위 수준의 인터페이스를 정의 하는 것. 시스템을 서브시스템으로 구조화하여 복잡성을 줄이고 서브시스템들 사이의 통신과 종속성을 최소화 기존의 DW 인프라와 프레임워크를 그대로 사용 가능 장점 서브시스템의 구성요소를 보호함으로써 사용자가 다루어야 할 객체가 줄어든다 다루어야 할 객체가 줄어듬에 따라 서브시스템과 사용자간의 결합도가 약해진다 다양한 출처에서 들어오는 데이터(=비정형 데이터)를 HDFS에 다 모은 다음 변환해서(=정형 데이터) DW로 적재 Data source 1 Sqoop Data source 2 Data source 3 Data source 4 Existing DW Implementation INGESTION HDFS Data Node Data Node Data Node
40. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted40 ② Data Partitioning/Indexing & the Lean Pattern HDFS 기반의 NoSQL 데이터베이스에서는 partitioning 강추 왜냐하면, HDFS는 폴더 구조라서 데이터가 time-stamp, 위치 등의 파라미터를 가지고 따라 여러 폴더에 분산 또는 분할(partition) 저장. Data indexing is applicable to NoSQL databases, like HBase, that are HDFS aware and compliant. 데이터셋을 식별하는 방법 3) Lean pattern—HBase implementation with only one column-family and only one column and unique row-key 1) HBase implementation with only one column-family and multiple columns 2) HBase implementation with multiple column-families and multiple columns
41. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted41 ③ NoSQL Pattern NoSQL 데이터베이스가 하둡에서 하는 역할 1) (비정형) 데이터를 HDFS뿐만 아니라 로컬 NFS 디스크에 저장 2) HDFS-aware : 데이터 노드간에 데이터를 분산 저장하고 접근할 수 있도록 함 Hbase 관점에서 본 NoSQL Storage Access Pattern
42. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted42 [참고] NoSQL DB의 용도 NoSQL DB 종류 작동 방식 시나리오(용도) 제품 Graph Database • data entities와 connections을 nodes와 edges로 저장 • 네트워크 DB와 비슷 • shortest paths 계산, social network 분석 등 Applications that provide evaluations of “like” or note that “user that bought this item also bought,” like a recommendation engine. Neo4J, Hyper Graph DB, Info Grid, OpenLink InfiniteGraph, AllegroGraph Key-Value Pair Database • Key-value 쌍으로 데이터 저장 • Key는 유일값이며 Foreign key 없음 • relationship 없음 병렬 lookup에 적합 • 데이터 통합성은 front-end applications에서 관리 Needle-in-a-haystack applications. MemCached, Riak, Redis, V, Membase Document Database • text, media, JSON, XML 데이터를 저장 • The value in a row is a blob of the aforementioned data and can be retrieved using a key. Applications that evaluate churn management(이탈고객관리) on the basis of non- enterprise and social media data. (여러 문서에서 특정 string 값을 검색하는 경우) CouchDB, Raven, mongo DB, Cloudant, MarkLogic, Terrastore Columnar Database • 개별 tuple에 엄청 많은 수의 컬럼이 있음 • 각각의 컬럼은 column key를 가짐. • 관련 컬럼은 column-family qualifier를 가지고 있어서 검색시 함께 조회됨 Google search type of applications, where an entire related columnar family needs to be retrieved based on a string. Hadoop, Hbase, Greenplum, Amazon SimpleDB Vertica, Cassandra, Azure, HyperTable Netizza, Terradata, BigTable,
43. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted43 [참고] NoSQL Family Tree 오픈소스 커뮤니티 유형 유즈케이스 Foundation backed Single vendor Analytics Data warehouse Operational database Caching Paper
44. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted44 ④ Ployglot Pattern 어플리케이션을 통해 저장되는 되는 데이터의 유형이 텍스트에서 다른 비정형 형태까지 다양하게 있으므로 데이터는 RDBMS, CMS, Hadoop과 같은 다양한 곳에 저장될 수 있음 Use case에 따라서 저장 메커니즘은 RDBMS에서 NoSQL db, CMS까지 다양하게 사용할 수 있음
45. [Chapter 5 ] BigDataAccessPatterns
46. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted46 Hadoop에서 데이터를 다루는 방법 접근하는 데이터의 종류 Incremental data Selective/filtered data Near real-time data with low latency 데이터에 접근하는 방법(form) End-to-End User Driven API: users to write simple queries to produce clipped or aggregated output and throw on a visual display. 예) Google Search is an example where the query results are abstracted from the user and the results are fetched using BASE (basically available soft state consistent eventually) principles. Google gives users the opportunity to enter a query according to a set of Google-specified query rules, and it provides an output without exposing the internal mechanism of the query processing. Developer API: Individual developers can interact with the data and analytics service. These services might be available in SaaS (software as a service) formats. 예) Amazon Web Services (AWS). The API enables querying of the data or the summary of the analytics transactions.
47. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted47 Big Data Access의 이해 Data Access Pattern은 거기에 맞는 Data Storage pattern과 결합하여 함께 사용되어야 함 ETL Data Service 2 (예, 트위터) Data Service 1 (예, Facebook) Service Catalog Data Source1 + Data Source2 Data Source1 + Data Source 1 + 2 + 3 HDFS Data Visualization Reports Search HTTP CacheCache NoSQL Database Big Data Appliance Service Locator Pattern Lightweight Stateless Pattern Near Real-time Pattern Stage Transform Pattern Connector Pattern
48. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted48 Big Data Access Patterns과 유즈케이스 Access Pattern 설명 Use Case Stage Transform Pattern uses the end-to-end user API approach and presents only the aggregated or clipped information in the NoSQL layer (Stage) after transforming the raw data. Search, Data Visualization, Reports • 여러 관점에서 데이터를 시각화할 때(Connector pattern과 결합하 여 사용) • (Hbase 통하지 않고) NoSQL 데이터베이스에서 직접 보고서 추출 • useful for rapidly searching data that has been abstracted from HDFS data storage into the NoSQL layer. Connector Pattern uses the developer API approach of using APIs for accessing data services provided by appliances. Bulk Data, Data Visualization • XML 형태의 bulk 데이터 처리. • 여러 관점에서 데이터를 시각화할 때(Storage Transform pattern 과 결합하여 사용) Lightweight Stateless Pattern uses lightweight protocols like REST, HTTP, and others to do stateless queries of data from the big data storage layer. Data Discovery • RESTful 서비스를 사용하여 여러 데이터 소스로부터 데이터 발견 (Data Discovery) Service Locator Pattern A scenario where the different sources of unstructured data are registered on a service catalog and dynamically invoked when required. Enterprise-wide Dashboard • collates data from applications across the organization using the catalog of services available from the API management software. Near Real-Time Pattern works well in conjunction with (and is complementary to) the data ingestion pattern “just-in-time transformation.” Search
49. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted49 ① Stage Transform Pattern HDFS가 모든 원 데이터를 갖고 있으며, NoSQL 데이터베이스에서는 업무 목적의 데이터만 가져와서 사용 (Hbase, MongoDB, Riak, Vertica, neo4j, CouchDB, Redis 등과 같은 NoSQL 데이터베이스) For example, for implementing data discovery for a retail application that depends on social media data, enterprise data, historical data and recommendation engine analysis, or abstracting data for a retail user or users, a NoSQL database makes the implementation of a recommendation engine much easier. NoSQL Storage pattern과 결합하여 NoSQL DB에서 사용자 데이터를 추출하고 저장하는데 사용할 수 있음 추출 데이터는 추천 엔진에서 사용하며, 데이터 검색 시간을 획기적으로 줄여줌 오래 걸리는 배치 프로세스를 통해서 뽑아내는 데이터(원 데이터 전체) 자주 사용하는 데이터만 뽑아옴 NoSQL Database HDFS 추천 엔진 Application Enterprise Data Social Media Data Historical Data
50. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted50 ② Connector Pattern 데이터 접근/이동을 가속화하고 Developer API를 사용할 수 있는 appliance 있나? EMC Greenplum, IBM PureData (Big Insights + Netezza), HP Vertica, and Oracle Exadata 등 • 성능 완전 빵빵. 데이터는 HDFS에 저장하지만 NoSQL 데이터베이스에서 추출. • GreenPlum은 데이터 접근 향상을 위해 자체의 파일시스템(OneFS)을 가지고 있음 • 시각화 지원 : 개별 노드/디스크는 분산 데이터베이스에 있는 VM • RAID 같은 프로토콜을 사용해서 데이터 중복과 복제 데이터에 접근할 수 있도록 developer-usable API와 SQL 비슷한 쿼리 언어를 제공. 개발 시간을 획기적으로 줄이고 전문 기술(niche skill)로 자원 식별을 불필요하게 만든다. VM VM VM
51. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted51 ③ Lightweight Stateless Pattern WebHDFS를 사용해서 RESTful HTTP를 호출하여 HDFS에 있는 파일에 접근 WebHDFS는 웹서비스의 일종 자바나 다른 언어로 개발하는 데 제한 없음 For a cloud provider or an application wanting to expose its data to other systems, this is the simplest pattern. HDFS systems expose RESTful web services to the consumers who want to analyze the big data. 점점 더 퍼블릭 클라우드 환경이 이 서비스 채택. Integration Platform as a Service (iPaaS)의 시작. 빅데이터 분석에 사용한 만큼만 지불하게 되므로 장비를 직접 소유하는 데 따른 비용 절감 HTTP Service Interface for HDFS (REST protocol) HDFS Lightweight Stateless pattern for HDFS CLOUD
52. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted52 ④ Service Locator Pattern 여러 스토리지가 있는 경우, 특정 스토리지만 선택하려고 할 때는 어떻게? For a storage landscape with different storage types, a data analyst needs the flexibility to manipulate , filter, select, and co-relate different data formats. Different data adapters should also be available at the click of a button through a common catalog of services. The Service Locator (SL) pattern resolves this problem where data storage access is available in a SaaS model. 서로 다른 데이터 소스는 서비스 카다로그 상의 하나의 서비스로써 노출됨.(권한있는 데이터 분석가에게만 보여짐). 기업 안팎 모두 가능 복수의 시각화 도구를 통해 이 서비스들을 동적으로 합치거나 연결함으로써 기업 데이터뿐만 아니라 소셜 미디어 데이터를 보여줄 수 있음.
53. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted53 ④ Service Locator Pattern Data source 1 Data source 2 Data source 3 HDFSEnterprise Internet Social Media Service Facilitator Service Catalog Data Source 1 + Data Source 2 Data Source 1 + Data Source 1 + 2 + 3 Visualization 1 Visualization 2 Service Locator Pattern for HDFS
54. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted54 ⑤ Near real-time Pattern 수집, 저장, 데이터 접근이 하나의 경로(pipe)로 죽 이어질 때 준실시간 데이터 접근이 가능해짐. 여러 스토리지에 있는 데이터들은 이미 다 걸러지고 정렬된 상태여야 함 어플리케이션 로그 검색 분석에 필요한 정보는 빠르게 접근할 수 있는 cache에 저장 90%의 noise data를 제거한 순수한 데이터 (NoSQL DB, memcache 등의 형태) “Near real-time” 접근이란? • Extremely low latency in capturing and processing the data. • Analyzing the data in real time 분석 HDFS Solr Search Engine Cache INGESTION Filter Metadata Near Real-Time Access Pattern using multicache
55. [Chapter 6 ] DataDiscovery&AnalysisPatterns
56. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted56 Analysis Patterns 빅데이터 분석 = 고객 행동에서 통찰력 있는 패턴을 찾아내고 해석하려는 시도 Social Media RDBMS / NoSQLEmailDocuments Logs CACHE RFID Meter Data Analysis Tools (Attensity, Radian, Solr 등) HDFS Visualization Tools Machine Learning Recommendatio ns Pattern Converger Pattern Constellation Search Pattern Index Base Insight Pattern Data Queuing Pattern
57. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted57 빅데이터의 발견과 분석 빅데이터 분석 = 고객 행동에서 통찰력 있는 패턴을 찾아내고 해석하려는 시도 Document Natural language processing 비정형 데이터의 종류 비정형 데이터를 분석하는 통계방법 Application Log Text mining E-mail Linguistic computation Social media forum (트위터, 페이스북 등) Machine Learning Machine generated data (RFID, 날씨데이터 등) Search and sort algorithms Syntax and lexical analysis Data Queuing Pattern: 데이터가 분석되는 동안 spike 처리하는데 사용 A lightweight process or workflow is required to queue the additional chunks of data and then route them to available nodes. 비정형 데이터를 분석하는 통계방법 Index-based Insight Pattern: 사용자로부터 들어온 정보에 기반하여 인덱스 정의 점점 더 많이 데이터가 인덱스의 범위를 결정하게 되면서 인덱스는 반복적으로 조정됨 Constellation Search Pattern: MDM 개념 활용 : 일련의 변수가 반복 발생되는 것을 확인하기 위해 constellation of 메타데이터를 사용 Constellation은 반복해서 재정의되며 다시MDM 시스템에 추가 Machine Learning Pattern: 통계와 수치분석 알고리즘을 사용하여 기기가 만들어낸 데이터의 패턴 식별 (energy meters, 날씨관련 장비, RFID feeds 등) Converger Pattern: 비정형 데이터를 분석하여 정형 데이터와 결합할 때 기업 차원의 의사결정이 필요
58. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted58 ① Data Queuing Pattern 불연속적으로 쏟아져 들어오는 빅데이터에 대해 어떻게 분석도구를 가지고 관리할 수 있을까? (예, Events like professional football or rock concerts trigger a lot of activity in different forums and email groups. It is also the right time to roll out offers and promotions.) Infrastructure as a Service(IaaS) 솔루션 A simple lightweight workflow to queue the additional data chunks and orchestrate the assignment of analysis to the nodes that are free is required in the architecture. There is also a need for spining new virtual machines, on demand, to address the new capacity requirements dynamically. The data queuer that sits above the HDFS layer allows us to provision and orchestrate the analysis payload so that it does not interrupt the analysis tools and provides a seamless interface. Data queuer Streamless interface Visualization Tool HDFS Node 1 Node…n Analysis Tools (Attensity, Radian, Solr 등)
59. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted59 ② Index-based Insight Pattern 모니터링하고 싶은 몇 개 유형의 파라미터를 설정할 때 The above problem requires an efficient key / index lookup that provides rapid scanning and also helps to keep related column families together. This is a pattern used by many analysis tools to build indexes and enable rapid search. Indexes can be used along with zones and/or partitions to improve performance of ‘read’ requests. As data grows and read requests vary, more indexes need to be incorporated based on the most frequently ‘read’ data attributes.
60. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted60 ③ Constellation Search Pattern 빅데이터 소셜 미디어 분석 사례의 일부는 집중해야 할 사용자 그룹을 식별하는데 도움. 데이터를 묶는 기준은 마스터 데이터 : 빅데이터에서는 분산 마스터데이터를 추구 (D-MDM). Master data는 변수들 사이에서 데이터의 constellation을 생성하는 데 이용. 데이터의 레벨별로 다양한 추상화 수준의 constellation이 있음 Constellation은 소셜 미디어 데이터에 대한 기계학습 패턴을 통해서 얻어짐. Data source 1 Data source 2 Data source 3 HDFS R Algo 3 Algo 1 Algo 2 HDFSAdapter Algo 4 VISUALIZATION Data Scientist Enterprise Internet Social Media Constellation 페이스북의 ‘모래사장에서 바늘찾기’ 아키텍처 = 인메모리 인덱스 + Metadata
61. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted61 ④ Converger Pattern 내부 데이터와 소셜 미디어 데이터를 결합하여 기업이나 제품헤 대한 소비자 감성에 더 많은 통찰력을 제공할 필요. 기업 내/외의 정보를 결합하는 아키텍처 필요 분산 MDM(D-MDM)을 통해 외부 데이터의 포맷을 변환하고 공통 관련 데이터를 결합 데이터의 수렴(집중)은 데이터가 분석되기 전에 이루어져야 함. ‘Facade Data storage’ pattern과 함께 사용될 수 있음 Converger Pattern Traditional BI Tools Structured Data Visualization Tools Big Data Analysis Tools Big Data Storage layer Unstructured Relational Databases NoSQL Databases Result Dataset Converge Operational Data Stores Data Warehouses
62. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted62 ⑤ Machine Learning Recommendation Pattern 수많은 출처로부터 쏟아져 들어오는 막대한 양의 다양한 데이터를, 사람의 손을 거치지 않고 자동으로 의미있는 정보로 변환하는 것 통계적 방법과 알고리즘 사용 kNN Classification algorithm : 분류되어있지 않은 레코드들을 분류된 레코드들 중 가장 비슷한 속성을 가진 레코드로 할당 Time decision trees Bayesian decision theory (베이시안 의사결정이론) : 미리 알고 있는 정보를 통해 의사결정 Regression coefficients (회귀계수) : 회귀방정식에서 독립변수의 계수 Apriori algorithms : 빈번하게 일어나는 데이터 항목 찾기
63. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted63 기타 이슈들 공통점이 없고 불충분한 데이터 정밀한 데이터 정제과정 필요 데이터 양의 수시 변화 Data queuing pattern과 결합된 클라우드 인프라 활용 개인보안성의 문제 개인정보의 보호는 법으로 강제되고 있음 (DaaS 활용에 따른) 성능 문제 독창적인 방법이 필요 빅데이터 분석의 문제들 실시간으로 생성되는 어마어마 하지만 내용 구성이 서로 다른 로그 파일 ① 로그의 속성 식별 ② 예외 기록 ③ 데이터 매핑 속성 생성 ④ 원 데이터를 반복적으로 조사해서 이벤트 빈도와 예외 빈도 탐색 ⑤ 데이터 기간 선택 ⑥ 반복되는 이벤트 범주를 찾아서 연결 ⑦ Fine tune the categories with every search ⑧ 반복실행을 통해 안정화된 속성과 카테고리 분석 실행 로그 파일 분석 소셜 미디어에 포함된 기업이나 제품에 대한 소비자의 감성(신뢰도), 의견 등을 분석 분석 대상 : 단어의 출현 빈도, 대화의 일부분, 문장에서 negation syntax의 사용과 단어의 위치 등의 비율이나 강조 범위 그러나, 소셜 미디어에는 비속어와 문법에 맞지 않는 내용이 많다 기법 : Bayes 이론, 엔트로피와 벡터 분석 도구 : Splunk 감정 분석
64. [Chapter 7 ] BigDataVisualizationPatterns
65. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted65 Big Data analysis and Visualization Patterns Data source 1 Data source 2 Data source 3 HDFS R Algo 3 Algo 1 Algo 2 HDFSAdapter Algo 4 VISUALIZATION Data Scientist Enterprise Internet Social MediaExploder Pattern Zooming Pattern First Glimpse Pattern Portal Pattern Mashup View Pattern Compression Pattern
66. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted66 Big Data analysis and Visualization Patterns Visualization Pattern 설명 Use Case MashupView Pattern HIVE에 mashup view를 한 데 모아 저장해서 쿼리 성능을 최대화한 것. DW(Hive)를 오프라인으로 업데이트 하기 위해 MapReduce 작업이 배치로 실행됨 시각화와 분석 도구들은 Hive의 쿼리를 통해서 Hadoop과 통신 그런데 Hive는 JOIN이나 AGGREGATION 같은 쿼리를 실행하기에는 부적합하므로 Hadoop 자체나 abstracted storage에 mashup view를 생성 ※ Mashup view = MapReduce 실행 결과를 취합해 놓은 것 Compression Pattern 더 빠르게 접근할 수 있도록 압축, 변환, 하나의 형태로 데이터 서식 지정 데이터를 취합하거나 매쉬업 하지 않고도 빠르게 접근도록 분석되기 전에 분석도구가 이해할 수 있는 압축 포맷으로 변경(예, R의 .xdf 포맷) 성능 향상, 데이터 검증, 데이터 교정과 일관성 확인 가능 Zoning Pattern 더 빠르게 접근할 수 있도록 다른 zone의 다양한 속성으로 쪼개고 색인 처리 데이터가 가진 속성에 따라 특성별로 구분하여 저장(partitioning) Hadoop, abstracted storage, 캐쉬, 시각화 클러스터 등 각 층(layer)에 데이터 특성별로 zone으로 구분 필요한 데이터만 검색 First Glimpse Pattern 시각화를 최소화하여 가장 관련있는 정보를 한눈에 보여줌. 필요하면 확장해서 더 상세한 데이터 볼 수 있음. 엄청 많은 데이터를 시각화 해야 하므로 아주 필수 정보만 한 눈에 확 들어오도록 하는 패턴(‘lazy-loading”) 그 다음부터는 드릴 다운을 통해 상세로 이동 ※ lazy-loading : 오브젝트의 인스턴스를 필요 시만 메모리에 생성하는 기법 Exploder Pattern First Glimpse pattern의 확장형으로 다른 소스의 데이터를 서로 다른 시각화 관점으로 볼 수 있게 함. 다른 출처에서 데이터를 가져오거나 다른 인덱스된 데이터 셋을 하나로 모아서 보여준다. 다른 데이터셋을 보고, 서로 연관관계를 파악하고, 다른 관점으로도 시각화하고.. Portal Pattern 빅데이터 시각화를 위해 기존의 기업 포털 사용 D3.js 같은 스크립팅 프레임워크를 사용하여 현재의 포털의 기능을 강화하여 재사용 Service Facilitator Pattern 빅데이터 분석 프로젝트를 위해 임시로 빌려서 사용( pay-as-you go approach)
67. [Chapter 8] BigDataDeploymentPatterns
68. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted68 Big Data Infrastructure의 구성 • Storage • Network • Processing power unit data traffic from multiple data centers and infrastructure for uploading data to downstream systems and/or a data center might be needed • 데이터와 메타데이터를 저장 • Appliances • NoSQL data storage Additional Infrastructure Security Infrastructure Hadoop Cluster
69. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted69 Traditional Tree network pattern 데이터를 병렬로 받아서 Hadoop 시스템에 병렬로 넘기기 위해, 여러 agent들을 여러 노드들로 채널화하는 프레임워크를 사용(예, Flume, SFTP 등) Data source 1 Data source 2 Data source 3 Data source 4 Tree Trunk Branch 2 Branch n Ingestion Data Node Data Node Data Node Branch 1 Ingestion Data Node Data Node Data Node Ingestion Data Node Data Node Data Node Hadoop Ecosystem
70. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted70 Resource negotiator pattern Hadoop ecosystem과 분리된 방화벽 밖의 네트워크 망에서 클라이언트의 데이터를 안전하게 수집 데이터 수집 배치 작업과 Negotiator node의 배치 작업을 분리 SecureAccessoverVPN Data source 1 Data source 2 Data source 3 Data source 4 Ingestion Negotiator Ingestion Negotiator Ingestion Ingestion Ingestion Data Node Data Node Data Node Hadoop Ecosystem DMZ Negotiator Node 안정적인 상태에서의 데이터 수집
71. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted71 Hadoop storage replacing resource negotiator Hadoop ecosystem이 ingestion negotiator 역할을 수행 SecureAccessoverVPN Data source 1 Data source 2 Data source 3 Data source 4 Ingestion Ingestion Ingestion Ingestion Ingestion Data Node Data Node Data Node Hadoop Ecosystem DMZ Data Node Data Node Ingestion
72. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted72 Spine Fabric Pattern Data Center 1 Data source 1 Data source 2 Data source 3 Data source 4 Ingestion Ingestion Data Node Data Node Ingestion Data Node Data Centre 6 Data Center 2 Data Center 4 Data Center 3 Data Center 5 Spine Hadoop Ecosystem Redirect Process Target Hadoop Ecosystem Aggregate and Process OR Redirect to other Data Centers 서로 다른 데이터 출처들로부터 오는 관계로 보안 수준이 서로 다른 채로 유입되는 데이터의 처리 Source 데이터 센터와 목표 데이터 센터가 분리됨으로써 deployment pattern의 변경 없이도 새로운 소스가 쉽게 수집될 수 있음 목표 데이터 센터
73. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted73 Federation Pattern 다양한 출처로부터 온 데이터를 구역으로 나누어 저장하고 처리 Data source 1 Data source 2 Data source 3 Data source 4 Ingestion Ingestion Data Node Data Node Ingestion Data Node Data Centre 6 Data Center 2 Data Center 4 Data Center 3 Data Center 5 Hadoop Ecosystem Redirect to other Data Centers Federation Pattern
74. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted74 Lean DevOps Pattern 인프라와 클러스터를 VM 처럼 자동으로 생성 Agile IaaS 스크립트를 사용하여, 1) 인프라와 어플리케이션 환경 설정용 템플릿을 새작성하고, 2) 필요하면, 전체 VM 클러스터나 인프라를 재생성할 수도 있음 Self-Service Portals Template Catalogs Templates Virtualization Hardware DevOps Scripts
75. [Chapter 9] BigDataNon-Functional Requirements
76. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted76 Big Data 아키텍처에서 꼭 고려해야 할 요소들 Reliability (신뢰성) Reliability is the ability of the system to be predictable and give the desired results on time and every time. It is related to the integrity of the system to give consistent results to every user of the system. Scalability (확장성) The ability of the system to increase processing power within the same machine instance (vertical scaling) or to add more machine instances in parallel (horizontal scaling) is called scalability. Operability (운영안정성) Once in production, how amenable the system is for monitoring every aspect that could affect the smooth operations determines its operability. Maintainability (유지보수성) A system is highly maintainable if defects, change requests, and extended features can be quickly incorporated into the running system without affecting existing functionality. Availability (가용성) Metrics like 99.999 and 24*7 are used to define the availability of the system for the users so that there is no downtime or very little downtime. Security (보안) Distributed nodes, shared data, access ownership, internode communication, and client communication are all prime candidates for security vulnerabilities that can be exploited in a big data system
77. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted C03934969, January 2014 Thankyou
'정보공유' 카테고리의 다른 글
[정보] SaaS 동향 (0) | 2018.04.05 |
---|---|
[정보] 능력주의는 허구다 (0) | 2018.04.05 |
[정보] Intro to r & hadoop (0) | 2018.04.04 |
[정보] 협력의 진화 V1.1 (0) | 2018.04.04 |
[정보] 비트코인 개인간 전자화폐시스템 요약 설명 (0) | 2018.04.04 |
[정보] 팀장쯤 되면 알아야 할 똑똑한 팀 운영 법 (0) | 2018.04.04 |
[정보] 이노베이션3.0 책 강연 자료 (0) | 2018.04.04 |
[정보] 4차 산업혁명 (0) | 2018.04.03 |