본문 바로가기
카테고리 없음

빅데이터 분석 실무 ③ 데이터 수집 및 변환, 적재 및 저장

by hey-min-eee 2024. 9. 30.

1. 데이터 수집 및 변환

(1) 데이터의 특징

- 수집 단계의 모든 과정은 데이터를 활용하기 위해 재생산 과정

구분 가역적 데이터 불가역적 데이터
환원 가능성 원본 수준으로 일정 수준 복원 가능 불가능
의존성 원본 데이터에 의존 원본 데이터에 독립적
원본 데이터와의 관계 1:N 1:N 혹은 N:1
처리과정 탐색 병합
소스 위치 외부 시스템
주로 소셜 데이터
내부 시스템
주로 RDBMS

ⓐ ⓑ ⓒ ⓓ ⓔ

① ② ③ ④ ⑤

(2) 데이터의 수집

- 서비스 활용에 필요한 데이터를 시스템의 내부 혹은 외부에서 주기성을 가지고 수집하는 형태

- 서비스 활용 : 서비스 결정에 따라 수집할 원천 데이터 탐색, 난이도/비용/안정성 고려, 비스니스 연계성

- 데이터 위치 : 수집 데이터 위치에 따라 내부, 외부로 구분

- 주기성 : 서비스 활용 측면에서 실시간 혹은 비실시간(배치)에 따라 주기 결정

- 수집 데이터의 저장 형태 : 서비스 환경에 맞는 아키텍처 설계, 분산 파일 시스템/RDBMS

- 개인정보 보호 : 개인 정보 자기 결정권 침해 여부 확인

- 데이터 수집 절차 : 수집 대상 및 데이터 선정 > 수집 세부 계획 수립 > 테스트 수집 실행

- 수집 대상 및 데이터 선정 : 수집 가능성, 데이터 보안, 데이터 정확성, 수집 난이도, 수집 비용

- 선정된 데이터의 위치 파악 : 내부 (내부 시스템과의 연계 가능 여부, 종류 및 수집 주기 인터페이스 정의), 외부 (Open API 데이터 종류 형태, 양과 연계방안 파악, 저작권 문제 등 확인)

- 수집 세부 계획 : 데이터 유형 파악, 데이터 수집 적용 기술 및 보안 사항 점검(확장성, 안정성, 유연성, 실시간)

- 수집 계획서 작성 : 데이터 소스 구정 요소 (소스위치, 데이터 유형, 인터페이스 방법, 담당자, 데이터 원천 담당자 협약 내용), 데이터 수집 주기 결정 (주기, 데이터 양, 트래픽 양)

- 데이터 수집 실행 : 기술적(데이터 세트 누락, 소스 데이터와 비교, 데이터의 정확성), 업무적(보안사항, 저작권) 검토

- 데이터의 유형 : 정성(언어, 문자)/정량(수치, 도형, 기호) 데이터

- 비정형 데이터 : 수집과 관리가 어려움. 연산이 불가능, NoSQL DB, 소셜 데이터/댓글/영상/음원 등

- 반정형 데이터 : 수집과 관리가 어려움. 테이블보다 파일 형태로 저장, 가공을 통해 정형 데이터로 변환 가능, XML, 형태와 구조가 존재하지 않거나 이미지 동영상 등

- 정형 데이터 : 연산 가능, DB에 저장, csv/excel, RDBMS의 고정 필드에 저장되는 데이터, 데이터 속성이 메타 데이터를 가지며 일반적으로 스토리지에 저장되는 데이터 파일

- 저장 형태에 따라 파일/데이터베이스/콘텐츠/스트림 데이터

- 내부 데이터 : 인터페이스 생성

- 외부 데이터 : 인터넷 연결

- 범주형 변수 : 명목 변수 ( 측정 대상의 분류를 위해 임의적으로 숫자를 부여), 서열 변수 (측정 대상의 특성을 서열로 표시)

- 연속형 변수 : 등간 변수 (숫자 간의 차이 의미, 측정 대상에 대한 등간성을 갖는 변수), 비율 변수 (절대 영점을 갖는 변수)

(3) 데이터의 변환

- 데이터를 한 형식이나 특정 구조에서 다른 형식이나 구조로 변환하는 과정

- 데이터 변환 > 데이터 정체 > 데이터 통합

- ETL 단계 : Extract > Transform > Load

- ETL 프로세스의 기능 : 구조적 변환, 검증, 데이터 변환

- ELT 빅데이터 분석 환경 : 데이터를 Load하기 전에 Transform하지 않고 타깃 시스템이나 분석 도구에서 변형하게 하는 방식

구분 ETL ENT
데이터 양 소용량 대용량
변형 주제 ETL 서버 혹은 ODS 타겟 시스템
적재 시간 선 ODS 적재, 후 타깃 시스템 적재 타깃 시스템 직접 적재로 빠른 속도

- 데이터 전처리 변환 : 데이터 필터링 > 데이터 변환 > 데이터 정재

- 데이터 후처리 변환 : 데이터 변환 > 데이터 통합 > 데이터 축소

- 데이터 변환 기법 : 범주형>연속형 데이터로 변환, 연속형 > 범주형으로 변환, 비정형 데이터로 변환, 더미 변수확

- 스케일링 : 데이터 단위 및 스케일을 맞추는 작업

- 정형 데이터 품질 지표 : 완전성, 유일성, 유효성, 일관성, 정확성

- 비정형 데이터 품질 지표 : 기능성, 신뢰성, 사용성, 효율성, 이식성

2. 데이터 적재 및 저장

(1) 데이터의 적재

- ETL(Extractiion Transformation Exrtact) : 데이터 소스 시스템 및 환경으로부터 데이터를 추출하는 시스템

- ODS(Opertaional Data Store) : 데이터에 추가 작업을 위해 다양한 데이터 원천으로부터 데이터를 추출, 통합

- 데이터 웨어 하우스 : 사용자의 의사결정에 도움을 주기 위해서 기간 대여하는 시스템

- 데이터 웨어 하우스 특징 : 주제 중심, 통합 구조, 시계열성, 비휘발성(영속성)

- 데이터 웨어 하우스 모델링 방법론 : 스타 스키마, 스노우 플레이크 스키마

- 데이터 레이크의 특징 : ETL/ELT 환경 적용, 스키마 구성, 유연성, 확장성

  데이터 레이크 데이터 웨어 하우스
데이터 종류 정형, 반정형, 비정형 정형
데이터 품질 원시 데이터 정제된 데이터
처리 방식 실시간 일괄
스키마 데이터 분석 시 사용 데이터 웨어하우스 구현 전 설계
사용 유저 데이터 과학자 비즈니스 전문가
어플리케이션 머신러닝, 스트리밍, 프로파일링 배치 리포팅, 시각화

(2) 데이터의 저장

- 데이터를 활용하기에 적합한 방식으로 안전하게 영구적인 방법으로 저장하는 활동

- RDBMS 방식 : 관계형 DB 시스템 이용 방식, 정형 데이터 대량 저장, 무결성 중복 최소화

- RDBMS 트랜잭션 특징 : 원자성, 일관성, 독립성, 영속성

- NoSQL 방식 : 대용량 데이터를 저장하기 위해 제한을 제거한 모델, 수평성, 확장성이 큼

- Basically Available, Soft-State, Eventually-Consistency

- NoSQL 특징 : 비용(오픈소스), 확장성, 유연성, 성능

- NoSQL 종류 : Document Orientated, Key-Value, Column-Orientated, Graph 데이터베이스

- RDBMS 데이터 접근 시 SQL, Scale up(기존의 서버 사양을 업그레이드 하여 시스템 확장)

- NoSQL 데이터 접근 시 NoSQL(API 이용), Scale Out(서버를 여러대 추가하여 시스템을 확장하는 방식)

- 분산 파일 시스템 방식 : 빅데이터를 확장 가능한 분산 파일 형태로 저장하는 방식

- 구글 파일 시스템(GFS) : 일반 상용 서버를 대량으로 연결하여 데이터에 대한 접근이 효율적이고 안정적인 대규모 클러스터 서비스 구성이 가능한 시스템

- GFS 아키텍터 구성 요소 : 클라이언트, 마스터, 청크 서버

- 하둡 분산 파일 시스템 : 대용량 파일 저장, 처리. 다수의 서버에 설치되어 서버리지 확장 가능성이 큼,  네임노드/보조네임노드/데이터노드/복제로 구성됨.