1과목. 빅데이터 분석 기획 3장. 데이터 수집 및 저장 계획

3장. 데이터 수집 및 저장 계획

  • 이 장은 데이터를 분석하기 전 단계의 과정을 다루고 있다.

    핵심키워드

    • 데이터의 유형
    • 데이터의 변환
    • 데이터 저장과 처리
    • 하둡 에코시스템

01_ 데이터 수집

학습목표

  • 데이터를 수집하고 분석에 활용할 수 있도록 변환하는 과정을 학습한다
  • 데이터의 품질을 검증하는 방법을 학습한다.

1. 데이터 수집의 이해와 수집 방법

데이터 수집에서 고려할 사항

  • 데이터의 위치
  • 데이터의 주기
  • 데이터의 수집 방법
  • 데이터의 저장 형태

데이터를 수집하는 절차

  • 데이터 선정 : 데이터 선정은 데이터 분석 결과와 품질에 큰영향을 미친다. 데이터 선정 시 우선 고려할 사항은 수집 가능성이다.
  • 수집 세부 계획 수립 : 데이터 위치와 유형을 파악하고 그에 맞는 준비를 해야 한다. 데이터의 위치가 시스템 내부 혹은 외부에 있는지를 파악하고 그에 맞는 기술 및 보안 정책 등을 파악해야 한다.
  • 테스트 수집 실행 : 수집 가능성, 보안 문제, 정확성 등을 만족하는지 검증하고 실제 활용 가능성까지 검토해야 한다.

데이터 유형에 따른 데이터 수집 방법

데이터 유형 데이터 종류 데이터 수집 방법
정형 데이터 DBMS, 스프레드시트 ETL, FTP, Open API
반정형 데이터 HTML, XML. JSON, 웹 문서, 웹 로그, 센서 데이터 웹 크롤링, RSS, Open API, FTP
비정형 데이터 소셜 데이터, 문서, 이미지, 오디오, 비디오, IoT 웹 크롤링, RSS, Open API, Streaming, FTP

2. 데이터 유형 및 속성 파악

정형 데이터와 비정형 데이터

정형 데이터(Structured Data) - 고정된 구조로 정해진 필드에 저장된 데이터
- 엑셀 스프레드시트, RDBMS(관계형 데이터베이스), CSV 파일 형태
- 데이터로서 활용성이 가장 높다.
반정형 데이터(Semi-Structured Data) - 고정된 필드에 저장되어 있지는 않지만, 데이터와 메타데이터, 스키마 등을 포함하는 데이터
- XML,HTML,JSON
- 규칙을 가지고 있어 필요 시 정형 데이터로 변형이 가능하다.
비정형 데이터(Unstructured Data) - 미리 정해진 구조가 없고, 고정된 필드에 저장되어 있지 않은 데이터
- 동영상, 소셜 네트워크 댓글 같은 문자 데이터, 위치 데이터, 오디오 데이터 등
- 비정형 데이터는 크기가 크고 규칙이 없어 복잡하다
- 데이터 변환 기술의 발전으로 비정형 데이터의 활용성과 공유 가능성이 높아지고 있다.

내부 데이터와 외부 데이터

3. 데이터 변환

데이터 변환 방법

  • 평활화(Smoothing)
    • 데이터로부터 발생할 수 있는 잡음을 제거하기 위해 추세에 맞니 않는 이상값들을 제거하여 데이터를 변환하는 방법
  • 집계(Aggrengation)
    • 그룹화 연산을 데이터에 적용하여 데이터를 요약하는 방법
    • 일반적으로 다중 추상 레벨에서 데이터 분석을 위한 데이터 큐브 생성에 사용
    • 예를 들면 매일 발생하는 데이터를 월별 또는 연도별로 그룹화하는 총계를 계산해 요약하는 조치를 취함
  • 일반화(Generalization)
    • 특정 구간에 분포하는 값으로 스케일(규모)을 변화시키는 방법
    • 데이터를 특정 범위 내의 값으로 축소하는 것을 의미
    • 예측 모델이 새로운 자료에 얼마나 잘 적용되는가를 의미
    • 최솟값과 최댓값의 편차가 크거나 다른 열보다 데이터가 지나치게 큰 열이 있을 때 주로 사용
    • 일반화는 데이터 마이닝 기법의 비정형성을 어느 정도 해결하고 보완하는 데 도움
  • 정규화(Normalization)
    • 데이터를 특정 구간 안에 들어가게 이상값을 변환하는 방법
    • 최단 근접 분류와 군집화 같은 거리 측정 등에 특히 유용
    • 구체적인 방법으로는 최소-최대 정규화, z-score 정규화, 소수 스케일링 정규화
    • 정규화의 종류
      • 최소-최대 정규화 : 원본 데이터에 대해 선형 변환을 수행함으로써 정규화하는 방법으로, 원본 데이터 값들의 관계를 그대로 유지하는 방법
      • z-score 정규화 : 평균값과 표준편차를 기초로 하여 정규화하는 방법으로, 실제로 최솟값과 최댓값이 알려져 있지 않거나 최소-최대 정규화에 큰 영향을 주는 이상치가 있는 경우에 이용할 수 있는 방법
      • 소수점 변경 정규화 : 소수점을 변경하여 정규화하는 방법으로, 정규화된 값의 절댓값은 1보다 작아야 한다.
  • 범주화
    • 데이터 통합을 위해 상위 레벨 개념의 속성이나 특성을 이용해 일반화하는 방법
    • 상위 개념으로 통합하는 것을 의미(나이 : 30대, 40대/ 까치, 까마귀 : 새, 동물)
      • 이산화 : 연속형 변수를 이산 변수로 변환하는 방법
        • 이산화 방법은 인접 구간의 처리 방법에 따라 분할 이산화, 병합 이산화로 나누거나 클래스 정보 활용 여부에 따라 지도 이산화, 비지도 이산화로 나눌 수 있다.
      • 이진화 : 연속형과 이산형 속성을 한 개 이상의 이진 속성으로 변환하는 것

데이터 축소 · 차원 축소

데이터 축소 같은 정보량을 가지면서 데이터의 크기를 줄이는 방법이다. 대규모 데이터를 다루는 경우 데이터 분석의 효율성을 높이기 위해 필요한 데이터 변환 과정이다.
차원 축소 차원 축소를 통해 데이터 잡음을 제거할 수 있으며 데이터셋을 더 다루기 쉽게 만들어 준다는 장점이 있다. 여러 속성 중 분석하는 데 관계없거나 중복되는 속성을 제거하는 작업을 통해 속성의 최소 집합을 찾아내는 방법이다.
데이터 압축 데이터 인코딩이나 변환을 통해 데이터를 축소하는 방법이다. 아무런 손실 없는 압축기법을 무손실압축기법(Lossless)이라고 하며, 대표적인 예로는 BMP 포맷이 있다. 데이터의 손실이 있는 경우에는 이를 손실압축기법(Lossy)이라고 하고, 대표적인 예로는 JPEG 포맷이 있다.

4. 데이터 품질 검증

데이터 품질 검증 요소

데이터 품질 검증 요소에는 데이터 값 검증, 데이터 구조 검증, 데이터 관리 프로세스 검증

  • 데이터값 검증

    • 정형 데이터

    정형 데이터의 데이터 값 검증은 대상이 되는 데이터베이스 테이블, 칼럼, 관계, 업무 규칙을 기준으로 데이터 값을 관리하고 분석. 또 데이터 값 품질 기준에 따라 오류를 검출하고 개선안을 제공.

    • 비정형 데이터

    비정형 데이터의 데이터 값 검증은 비정형 콘텐츠 자체의 상태와 메타데이터에 대한 품질 검증으로 구분.

    • 비정형 콘텐츠의 유형에 따라 시각, 청각, 자동화된 도구를 이용해 분석하기 때문에 각각의 품질 기준이 상이
    • 메타데이터에 대한 품질 검증은 정형 데이터 품질 검증 방법으로 검증하고 나아가 데이터가 그 콘텐츠를 정확히 식별할 수 있는지, 즉 데이터와 콘텐츠 개체 간의 일치하는 정도까지 무결성의 개념이 확장된다.
  • 데이터 구조 검증

    • 데이터 구조 검증은 데이터 모델링 관점에서 이루어진다.
  • 데이터 관리 프로세스 검증

    • 데이터를 관리하는 절차, 인력, 조직을 분석해 문제점을 발견하고 개선할 수 있는 핵심 업무 프로세스를 표준화해 재설계한다.

02_ 데이터의 저장과 처리

학습목표

  • 데이터의 저장과 처리 방법, 그리고 빅데이터 플랫폼에 대해 자세히 학습한다.
  • 여기서는 가장 널리 활용되는 하둡 플랫폼을 학습하기로 한다.

1. 데이터 저장과 처리

2. 데이터 저장과 처리를 위한 플랫폼

스타 스키마 장단점

장점 복잡도가 낮아서 이해하기 쉽다.
쿼리 작성이 용이하고 조인의 테이블 수가 적다.
단점 차원 테이블들의 비정규화로 데이터 중복이 발생하여 상대적으로 데이터 적재에 시간이 많이 소요된다.

스노우플레이크 스키마 장단점

장점 데이터 중복이 제거되어 데이터 적재 시 상대적으로 데이터 적재 소요 시간이 빠르다.
단점 복잡성이 증가해 조인 테이블의 개수가 증가한다.
쿼리 작성의 난도가 증가한다.

ETL 프로세스

데이터 원천으로부터 데이터를 추출 및 변환하여 운뎡 데이터 스토어(ODS : Operational Data Store), 데이터 웨어하우스(Data Warehouse), 데이터 마트(Data Mart)에 데이터를 적재하는 작업

STEP 1 Interface 다양한 이기종 DBMS 및 스프레드시트 등 데이터 원천으로부터 데이터를 획득하기 위한 인터페이스 메커니즘 구현
STEP 2 Staging ETL 수립된 일정에 따라 데이터 원천(Source)으로부터 트랜잭션 데이터 획득 작업 수행 후, 획득된 데이터를 스테이징 테이블에 저장
STEP 3 Profiling ETL 스테이징 테이블에서 데이터 특성을 식별하고 품질을 측정
STEP 4 Cleansing ETL 다양한 규칙을 활용해 프로파일링된 데이터 보정 작업
STEP 5 Integration ETL 이름, 값, 구조 등 데이터 충돌을 해소하고 클렌징된 데이터를 통합
STEP 6 Denormalization ETL 운영 보고서 생성, 데이터 웨어하우스 또는 데이터 마트 데이터 적재를 위해 데이터 비정규화 수행

ETL과 CDC의 차이

ETL CDC
공통목적 원천 데이터를 DW, DM 등에 적재 원천 데이터를 DW, DM 등에 적재
특징 실시간이 아닌 정해진 시점의 완료된 데이터를 적재 실시간(Real Time) 혹은 준실시간(Near Real Time)으로 적재
용도 예 거래 집계, 일일 회계 집계, 원장 등
이벤트 단위가 아닌 소스 데이터 취합 용도
이상 감지 경보, 금융 거래 이상 경보
변경된 이벤트 감지 용도
기술 변경 데이터만 적재 혹은 All Copy
(원천 테이블 사용)
변경 이력을 관리하는 DB Archive Log (원천 테이블이 아닌 Archive Log 시스템 테이블 사용)
적재 수준 적재 시점의 적재 수준
(시, 일, 월 등)
시점에 관계없이 모든 원천 데이터의 변경 로그 기록을 적재

ODS 프로세스

ODS는 데이터에 추가 작업을 하기 위해 다양한 원천 데이터로부터 데이터를 추출 통합한 데이터베이스

STEP 1 Interface - 다양한 데이터 원천으로부터 데이터를 획득하는 단계다.
- 데이터 원천은 관계형 데이터베이스, 스프레드시트, 플랫 파일, 웹 서비스, 웹 사이트, XML 문서 또는 트랜잭션 데이터를 저장하고 있는 모든 알려진 데이터 저장소(Repository) 등이다.
프로토콜 :
- OLEDB(Object Lonking and Embedding Database)
- ODBC(Object Data Base Connectivity)
STEP 2 Data Staging - 이단계에서는 작업 일정이 통제되는 프로세스에 의해 데이터 원천으로부터 트랜잭션 데이터가 추출되어 하나 또는 그 이상의 스테이징 테이블에 저장된다.
- 이 테이블들은 정규화가 배제되며, 테이블 스키마는 데이터 원천의 구조에 의존적이다. 데이터 원천과 스테이징 테이블과 데이터 매핑은 일대일 또는 일대다로 구성 될 수 있다.
STEP 3 Data Profiling - 이단계에서는 범위 도메인 유일성 확보 등의 규칙을 기준으로 다음과 같은 절차에 따라 데이터 품질 점검을 한다.
- 선행 자료 또는 조건: 데이터 프로파일링 요건
- Step 1 : 데이터 프로파일링 수행
- Step 2 : 데이터 프로파일링 결과 통계 처리
- Step 3 : 데이터 품질 보고서 생성 및 공유
STEP 4 Data Cleansing - 이 단계에서는 클렌징 ETL 프로세스로 앞 데이터 프로파일링 단계에서 식별된 오류 데이터를 다음 절차에 따라 수정한다.
- 선행 자료 또는 조건 : 데이터 품질 보고서, 데이터 클렌징 요건
- Step 1 : 클렌징 스토어드 프로시저 실행(예비 작업)
- Step 2 : 클렌징 ETL 도구 실행
STEP 5 Data Integration - 이 단계에서는 앞 단계에서 수정 완료한 데이터를 ODS 내의 단일 통합 테이블에 적재하며, 다음의 단계를 거친다.
- 선행 자료 또는 조건 : 데이터 클렌징 테이블, 데이터 충돌 판단 요건
- Step 1 : 통합 스토어드 프로시저 실행(예비 작업)
- Step 2 : 통합 ETL 도구 실행
STEP 6 Data Export - 앞 단계에서 통합된 데이터를 익스포트 규칙과 보안 규칙을 반영한 익스포트 ETL 기능을 수행해 익스포트 테이블을 생성한다.
- 다양한 전용 DBMS 클라이언트 또는 데이터 마트, 데이터 웨어하우스에 적재한다. 해당 데이터는 OLAP 비정형 질의에 활용될 수 있다.

데이터 웨어하우스와 데이터 레이크 비교

속성 데이터 웨어하우스 데이터 레이크
스키마 - Schema-on-write - Schema-on-read
액세스 방법 - 표준화된 SQL 및 BI 도구를 통해 액세스 - SQL과 유사한 시스템(NO.SQL, H-Base, Mongo-DB 등)
- 개발자가 만든 프로그램(Spark, Map Reduce, YARN, Presto 등)을 통해 액세스
데이터 - 정제된 데이터 - 로 데이터
비용 - 저장 및 처리에 높은 비용 - 저렴한 비용으로 가능
특징 - 빠른 응답시간
- 간편한 데이터 사용
- 간편한 데이터 사용
- 성숙한 거버넌스 체계
- 데이터 접근성이 제한적
- 정제되고 안전한 데이터
- 높은 동시성과 통합성
- 빠른 응답시간
- 간편한 데이터 사용
- 성숙한 거버넌스 체계
- 데이터 접근성이 매우 높음
- 단일 데이터 모델로부터 자유로움
- 저장 용량의 확장성이 좋음
- 도구의 확장성이 좋음
- 리얼타임 데이터 분석 가능 - 스트리밍 데이터 처리
- 단일 소스에서 정형&비정형 데이터 사용 가능
- 사용자가 응용프로그램 및 쿼리를 커스터마이징해서 사용 가능
- 민첩한 모델링 지원
- 빅데이터 분석 솔루션과 연동이 편리

3. 하둡 플랫폼에서의 데이터 저장과 처리

하둡 에코시스템

하둡 에코시스템 - 수집 및 연결 프레임워크

하둡 에코시스템 - 분석 및 관리 프레임워크

하둡 에코시스템 - 관리 프레임워크

출처

Share