본문 바로가기

빅데이터 분석기사

[필답형] 데이터 수집

중요도 : ★☆

키워드 : ETL, 스쿱, 맵리듀스, 플럼, 스크래피, 크롤링, NoSQL, RDBMS, CAP이론, NoSQL 저장구조, DBMS

한 줄 평 : 제끼기 가능


01 데이터 수집

데이터 처리 시스템에 들어갈 데이터를 모으는 과정으로 여러 장소에 있는 데이터를 한 곳으로 모으는 것

 

1) 비즈니스 도메인과 원천 데이터 정보 수집

 

2) 내 외부 데이터 수집

 

내부 데이터 : 서비스 시스템, 네트워크 및 서버 장비, 마케팅 데이터

외부 데이터 : 소셜 데이터, 특정 기관 데이터, M2M(Machine to Machine)데이터, LOD(Linked Open Data) 공공 데이터

 

3) 데이터 수집 기술 

 

정형 데이터 > 

ETL(Extract Transform Load) : 데이터를 추출, 변환, 적재 과정을 통해 데이터 웨어하우스에 저장.

FTP(File Transfer Protocol) : TCP/IP나 UDP 프로토콜을 통해 파일을 송수신.

API : 솔루션 제조사 또는 3rd Party SW로 제공되는 도구, 시스템 간 연동을 통해 실시간으로 데이터를 수신.

DB to DB : DBMS 간 데이터를 동기화 또는 전송.

스쿱(아파치 스쿱) : 관계형 DB -> HDFS 데이터 전송, 데이터 가져오기/내보내기 과정을 맵리듀스를 통해 처리. 병렬 처리가 가능하며 장애에도 강함.  

 

반정형 데이터 >

플럼 : 분산 환경에서 대량의 로그데이터를 수집 전송 분석.

  • - Agent (소스, 채널, 싱크)
  • 신뢰성 : 장애시 로그 데이터를 유실 없이 전송
  • 확장성 : 수평 확장, 분산 수집 가능 구조
  • 효율성 : 커스터마이징 & 고성능

스크라이브 : 다수의 수집 대상 서버로부터 실시간 데이터 수집, 분산 시스템에 저장.

센싱 : 센서로부터 수집.

스트리밍 : 네트워크를 통해 센서 데이터 및 오디오, 비디오 등의 미디어 데이터 실시간 수집.

 

비정형 데이터 > 

크롤링 : 인터넷상의 웹사이트 정보 수집.

스크래피 : 웹 및 소셜 데이터 수집, 파이썬 기반의 프레임 워크, 단순한 스크랩 과정, 다양한 부가 요소.

RSS(Rich Site Summary) : 블로그, 뉴스등의 웹사이트에 게시된 새로운 글을 공유하기 위해 XML 기반으로 정보를 배포.

Open API : 공개된 API.

척와 : 분산 시스템으로부터 데이터 수집, HDFS 저장, 실시간 분석.

카프카 : 대용량 실시간 로그 처리, 분산 스트리밍 플랫폼 기술.


02 데이터 변환

1) 데이터 변환 방식의 종류

관계형 데이터 베이스 : 비정형 > 정형 (저장 솔루션 : My SQL, Oracle, DB2)

분산 데이터 저장 : 수집 데이터를 분산 파일 시스템에 저장 (저장 솔루션 : 하둡 분산 파일 시스템 HDFS)

데이터 웨어하우스 : 주제별, 시계열별 저장 (저장 솔루션 : 네티자, 테라데이타)

No SQL : 키-값 저장 등 (저장 솔루션 : H Base, Cassandra, MongoDB)

 

2) 데이터 베이스 구조설계

  • DBMS 구축 여부 결정
  • 저장 DB 결정
  • DBMS 설치
  • 테이블 구조 설치

3) 비정형/반정형 데이터의 변환

 

4) 융합 데이터 설계

  • 요구사항 분석
  • 데이터 표준화와 모델링 수행 (개념적 설계 - ER 다이어그램, 논리적 설계 - 관계형 스키마)

03 데이터 적재

1) 데이터 적재 도구

 

데이터 수집 도구를 이용한 데이터 적재 >

플루언티드 : 트레저 데이터에서 개발된 크로스 플랫폼 오픈 소스 데이터 수집 , 사용로그 > Json 포맷 변환, 출력

플럼 : 많은 양의 데이터, 로그, 트래픽, SNS, 대량 이벤트 수집, 취합, 이동하기 위한 분산형 SW

스크라이브 : 실시간 스트리밍 되는 로그 데이터 수집

로그스태시 : 다양한 소스에서 데이터를 수집하여 변환한 후에 자주 사용하는 저장소

 

NoSQL DBMS 제공도구를 이용한 데이터 적재 >

 

관계형 DBMS의 데이터를 NoSQL DBMS에 적재 > 

 

2) 데이터 적재 완료 테스트


04 데이터 저장

1) 빅데이터 저장 시스템 

  • 파일 시스템 저장 방식 : 아파치 HDFS, 구글의 GFS
  • 데이터 베이스 저장 방식 : 관계형 데이터 베이스 시스템(RDBMS), NoSQL 데이터 베이스 시스템

2) 분산 파일 시스템

하둡 분산 파일 시스템 : (1개의 마스터:네임노드, 여러 개의 슬레이브 : 데이터 노드) 데이터 복제 기법

구글 파일 시스템 : (마스터, 청크 서버, 클라이언트) 구글에 최적화된 시스템

 

맵리듀스 : 분산 데이터 처리기술 

  • input : 데이터 입력
  • splitting : 데이터 여러 개로 나눔 (분산 처리 가능)
  • mapping : 문소 자곡에 포함된 단어, 빈도수 계산하여 기록
  • shuffling : 각 조각 별로 계산된 결과를 같은 단어로 모음
  • reducing : 단어 별 출연 빈도수 합
  • final result : 최종 합산 결과 기록

맵리듀스의 구조

3) RDBMS와 NoSQL 비교

구분 키워드 장단점 특성
RDBMS 전통의, 정규화된, 명확한,일관성 데이터 무결성과 정확성 보장
정규화된 테이블과 소규모 트랜잭션
확장성의 한계
클라우드 분산환경에 부적합
ACID 트랜잭션
고정 스키마
NoSQL 유연한, 확장성, 가용성 및 높은 성능 데이터 무결성과 정확성을 보장하지 않음
웹 환경의 다양한 정보 검색, 저장 가능
無스키마
일부 장애에도 접근 가능 (탄력성)
질의가능
메모리기반 캐싱

CAP 이론 (기존 데이터 저장 구조의 한계)

CAP 이론

분산 컴퓨팅 환경의 특징을 일관성, 가용성, 지속성 세 가지로 정의하였으며, 어떤 시스템이든 3가지 속성 중 2가지만 보장

  • 일관성 : 분산 환경에서 모든 노드가 같은 시점에서 같은 데이터를 보여줘야 한다.
  • 가용성 : 일부 노드가 다운되어도 다른 노드에 영향을 주지 않아야 한다.
  • 지속성 : 데이터 전송 중에 일부 데이터를 손실하더라도 시스템은 정상 작동되어야 한다. 
구분 설명 적용
RDBMS 일관성(C) - 가용성 (A) 트랜잭션 ACID 보장 (금융서비스)
NoSQL 일관성(C) - 지속성 (P)
or
가용성(A) - 지속성(P)
C+P : 대용량 분산 파일 시스템 (성능보장)
A+P : 비동기식 서비스 (아마존, 트위터등)

 

NoSQL 분류

데이터 모델 주요기능 및 특징
키-값 데이터 베이스 키-값 쌍으로 저장
가장 간단해서 확장성이 뛰어남
질의 응답이 빠르나 범위 질의는 사용이 어렵다
응용 모델링이 복잡
열 기반 데이터 베이스 컬럼 기반 저장
연관된 데이터 위주로 읽는데 유리한 구조
하나의 레코드 변경시 여러곳을 수정해야 함
압축효율이 좋음
범위 질의에 유리
문서 기반 데이터 베이스 문서 정보를 저장, 검색, 관리
문서마다 다른 스키마
레코드 간 관계 설명이 가능
개념적으로는 RDBMS와 가장 비슷