본문 바로가기
  • Let's go grab a data
Review/Book_Data

데이터 분석 전문가 가이드 과목 2. 데이터 처리 기술 이해

by pub-lican-ai 2019. 1. 4.
반응형

아래를 클릭하여 바로 구매하기 데이터 분석 전문가 가이드(ADP)(ADsP), 한국데이터산업진흥원

*파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음


과목2 데이터 처리 기술 이해

  • 1 데이터 처리 프로세스

1 ETL(Extraction, Transformation and Load) : 통합, 이동, 관리  Batch ETL Real Time ETL

   Source -> ODS -> DWH -> Data Mart

Extraction추출: 데이터 원천Source에서 데이터 획득, 

Transformation변형: 데이터 클렌징, 형식변환,표준화, 통합

Loading적재: 특정 목표 시스템에 적재


ODS(Operational Data Store): 추가 작업을 위해 데이터 소스들로부터 추출,통합한 데이터 베이스

Interface 단계: 데이터 획득, OLEDB(Object Linking and Embedding Database), ODBC(Object Data Base Connectivity), FTP, OLAP(Online Analytical Processing)

Staging 단계: 데이터가 추출되어 저장되는 , 적재 타임스탬프, 데이터값 체크섬등 통제 정보 추가

Profiling 단계: 범위, 도메인, 유일성 확보 규칙 기준 데이터 점검, 프로파일링 수행, 결과 통계, 품질보고서 생성 공유

Cleansing 단계: 프로파일링 단계에서 식별된 오류 데이터들을 절차에 따라 수정

Integration 단계: 수정 완료된 데이터를 ODS내의 단일 통합 테이블에 적재

Export 단계: Export 규칙과 보안규칙을 반영한 Export 테이블 생성하여 DBMS Client, 데이터 마트, 데이터 웨어하우스에 적재함


DWH(Data Warehouse)

DWH 특징

주제중심(Subject Oriented): 실업무 상황읭 특정 이벤트나 업무 항목 기준 구조화

영속성(Non Volatile): 읽기전용(read) 속성을 가지며 삭제되지 않음

통합성(Integrated): 통합본

시계열성(Time Variant): 운영시스템은 최신데이터를 보유하지만 DWH 시간순에 의한 이력 데이터를 보유함

스키마 종류 - 1)스타 스키마: 하나의 사실테이블Fact Table 중심으로 다수의 차원 테이블 Dimensional Table 구성, 이해하기 쉬움 조인 테이블이 적음. 차원 테이블의 비정규화에 따른 데이터 중복으로 상대적으로 많은 시간 소요 단점

                 - 2)스노우플레이크 스키마: 정규화한 상태 데이터 중복 제거되어 시간 단축 장점, 복잡성 증가 쿼리 작성 난이도 상승 단점

  

2 CDC(Change Data Capture): 데이터에 대한 변경을 식별해 필요한 후속 처리 자동화 기술, 실시간 또는 근접실시간 데이터 통합 기반 데이터 웨어하우스에 넓게 활용

방법: Timestamp, Version Numbers, Status, Time/Version/Status, Triggers, Event, Log Scanner


3 EAI(Enterprise Application Integration): 기업 정보 시스템들의 데이터를 연계, 통합하는 소프트웨어 정보 시스템 아키텍처 프레임워크. 프론트 오피스 시스템, 레거시 시스템, 패키지 애플리케이션 산재된 정보시스템을 프로세스, 메시지 차원 통합 관리

포인트 포인트 방식의 복잡도를 관리 목적

시스템들 가운데에 Integration Broker(Hub) 두고 연결성 확보를 위한 어댑터, 데이터 연동 경로인 Bus, 데이터 연동 규칙을 통제하는 브로커Broker,  데이터 형식 변환을 담당하는 트랜스포머

구현유형 -1) Mediation(Intra-Communication) EAI 엔진이 중재자로 동작하여 신규, 갱신 유의미한 이벤트 발생을 식별해 사전 약속된 시스템 들에게 내용 전달 Publish/Subscribe Model

                2) Federation(Inter-Communication) 외부 정보 시스템으로 부터 데이터 요청들을 일괄적으로 수령해 필요한 데이터 전달 Request/Reply Model

기대효과 - 향후 정보 시스템 개발 유지보수 비용 절감 도모, 기업 업무 시스템 지속 발전 기반 확보, 협력사 파트너 고객의 상호 협력 프로세스, 웹서비스 인터넷 비즈니스 위한 토대


4 데이터 연계 통합 아키텍처

일괄 통합(Batch), 비동기식 실시간 통합(Near Real time), 동기식 실시간 통합(Real time)

전통적 데이터 처리 기법 : 운영DB -> ODS -> DWH, OLAP분석, 통계와 데이터 마이닝 기술, SQL, RDBS

빅데이터 처리 기법 : 빅데이터 환경, NoSQL, 초대형 분산 데이터 스토리지, Map Reduce 기술


5 데용량 비정형 데이터 처리 

비정형 데이터 수집 시스템 Flume-NG 

하둡 대규모 분산 병렬 처리인 맵리듀스 시스템과 분산파일시스템인 HDFS 구성된 플랫폼 기술 : 선형적 성능/용량확장, 고장 감내성Fault Tolerance, 핵심 비즈니스 로직에 집중, 풍부한 에코시스템 형성

데이터 연동 스쿱SQOOP 하둡과 데이터 베이스 연동 솔루션 오픈소스  관계형 데이터 베이스 -> Hadoop

대용량 데이터 질의Query : 아파치 드릴Drill, 아파치 스팅거Stinger, 샤크Shark, 아파치 타조Tajo, 임팔라Impala, 호크HAWQ, 프레스토


  • 2 데이터 처리기술

1 분산 데이터 저장 기술

   1.분산 파일 시스템- 1)GFS Google File System 대규모 클러스터 서비스 플랫폼 Client, Master, Chunk 서버로 구성, 

                                                                 2)하둡 분산파일 시스템 : 하나의 네임노드와 다수의 데이터 노드로 구성

                                                                 3)러스터Luster 객체기반 클러스터 파일 시스템. 클라이언트, 메타데이터 서버, 객체 저장 서버

   2. 데이터베이스 클러스터 - 빠른 데이터 검색 처리 성능, 성능의 선형적인 증가, 장애가 발생해도 서비스가 중단되지 않는 고가용성

 무공유 Shared Nothing 클러스터 : 데이터 베이스 인스턴스가 자신이 관리하는 데이터 파일을 자신의 로컬에 저장하며 노드간 공유하지 않음, 노드 확장에 제한이 없지만 별도의 장애 대비 필요

 공유 디스크 Shared Disk 클러스터 : 데이터파일을 모든 데이터베이스 인스턴스 노드들과 공유하고, 인스턴스는 모든 데이터에 접근 가능. 공유디스크가 필요하고, 노드간 동기화를 위한 커뮤니케이션 채널 필요.

1)Oracle RAC 데이터 베이스 서버 가용성, 확장성이 높고, 비용 절감

2)IBM DB2 ICE(Integrated Cluster Environment): 무공유 방식

3)마이크로소프트 SQL Server : 데이터베이스 형태로 여러 노드로 확장할 있는 기능 제공, 테이블을 논리적으로 분산하여 뷰를 생성 DVP Distributed Partitioned View, Active -Stanby 방법 사용

4)MySQL: 무공유 구조, 메모리, 디스크 기반 데이터베이스 클러스터 지원, 특정하드웨어 소프트웨어 요구X, 관리노드, 데이터 노드, MySQL 노드 

   3. NoSQL : key value 형태로 자료 저장, 대용량 데이터와 대규모 확장성 제공

1)구글 빅테이블: 분산 데이터 관리 저장소 AppEngine이라는 플랫폼에서 사용하는 데이터 저장소, 고가용성

2)아파치HBase, NHN Neptune 

3)아마존 SimpleDB: 애플리케이션에서 사용하는 데이터의 실시간 처리 지원, 도메인, 아이템, Attribute, Value

4)마이크로소프트 SSDS


2 분산 컴퓨팅 기술

  1. MapReduce : 분할정복 방식 대용량 데이터를 병렬 처리 프로그래밍 모델 구글, 64MB 1 블록 Map 과정에서 생성된 중간 결과물들을 Reduce Task 들이 받아와서 정렬 필터링

1)구글MapReduce : key value map() reduce() 거치며 key value list 전환 - 빈도수 계산등 작업은 데이터가 상당히 줄어들어 장점, 정렬 등은 데이터가 그대로 전해지므로 적합하지 않음. 무공유 방식

2)하둡MapReduce : 네임노드, 데이터노드, JobTracker, TaskTracker

  1. 병렬 쿼리 시스템 : 사용자에게 친숙한 쿼리 인터페이스를 통해 병렬 처리하도록 개발

1)구글 Sawzall : MapReduce 추상화한 스크립트 형태의 병렬 프로그래밍 언어

2)아파치 Pig : 야후개발, 네이티브 MapReduce 대비 90% 성능, 코드 길이 1/20 개발시간 1/10 감소, 이해하기 쉽고 직관적

3)아파치 Hive : 페이스북개발, 데이터 웨어하우스 인프라. SQL 기반의 쿼리 언어와 JDBC 지원. 사용편의성과 성능 동시 지원

  1. SQL on Hadoop : 실시간 SQL 질의 기술, 개발 생산성 향상

1)임팔라Impala 클라우데라개발 분석과 트랜잭션 처리 모두 지원


3 클라우드 인프라 기술 : SaaS, PaaS, IaaS

서버 가상화 기술 효과 

1)가상 머신 사이의 데이터 보호 2)예측하지 못한 장애로부터 보호 3)공유자원에 대한 강제 사용의 거부 4)서버 통합 5)자원할당에 대한 증가된 유연성 6)테스팅 7)정확하고 안전한 서버 사이징 8)시스템 관리

  1. CPU 가상화: 하이퍼바이저(하드웨어 환경 에뮬레이션, 실행환경 격리, 시스템 자원할당, 소프트웨어 스택 보존) VMware, MS Virtual server  

                            완전가상화, 하드웨어 지원 완전가상화, 반가상화, Monolithic(하드웨어에 접근할때 사용하는 드라이버를 하이퍼바이저계층에서 가짐) vs Microkernel( 가상머신에서 가짐)

                            호스트 기반 가상화(Vmware), 컨테이너 기반 가상화(docker)

  1. 메모리 가상화: VMware 하이퍼바이저의 핵심 모듈 VMKernel 메모리 영역 관리, 가상 머신에 메모리 할당

                               Memory ballooning, Transparent page sharing, Memory Overcommitment

  1. I/O 가상화:가상머신간의 통신 가상화, 가상 이더넷, 공유이더넷 어댑터 가상화, 가상 디스크 어댑터

반응형