중요도 : ★☆☆☆☆
키워드 : 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 이론 (기존 데이터 저장 구조의 한계)
분산 컴퓨팅 환경의 특징을 일관성, 가용성, 지속성 세 가지로 정의하였으며, 어떤 시스템이든 3가지 속성 중 2가지만 보장
- 일관성 : 분산 환경에서 모든 노드가 같은 시점에서 같은 데이터를 보여줘야 한다.
- 가용성 : 일부 노드가 다운되어도 다른 노드에 영향을 주지 않아야 한다.
- 지속성 : 데이터 전송 중에 일부 데이터를 손실하더라도 시스템은 정상 작동되어야 한다.
구분 | 설명 | 적용 |
RDBMS | 일관성(C) - 가용성 (A) | 트랜잭션 ACID 보장 (금융서비스) |
NoSQL | 일관성(C) - 지속성 (P) or 가용성(A) - 지속성(P) |
C+P : 대용량 분산 파일 시스템 (성능보장) A+P : 비동기식 서비스 (아마존, 트위터등) |
NoSQL 분류
데이터 모델 | 주요기능 및 특징 |
키-값 데이터 베이스 | 키-값 쌍으로 저장 가장 간단해서 확장성이 뛰어남 질의 응답이 빠르나 범위 질의는 사용이 어렵다 응용 모델링이 복잡 |
열 기반 데이터 베이스 | 컬럼 기반 저장 연관된 데이터 위주로 읽는데 유리한 구조 하나의 레코드 변경시 여러곳을 수정해야 함 압축효율이 좋음 범위 질의에 유리 |
문서 기반 데이터 베이스 | 문서 정보를 저장, 검색, 관리 문서마다 다른 스키마 레코드 간 관계 설명이 가능 개념적으로는 RDBMS와 가장 비슷 |
'빅데이터 분석기사' 카테고리의 다른 글
[필답형] 데이터 전처리 (2) (0) | 2022.07.04 |
---|---|
[필답형] 데이터 전처리 (1) (0) | 2022.06.28 |
비전공자의 빅데이터 분석기사 도전기 (1) | 2022.06.22 |