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 아키텍터 구성 요소 : 클라이언트, 마스터, 청크 서버
- 하둡 분산 파일 시스템 : 대용량 파일 저장, 처리. 다수의 서버에 설치되어 서버리지 확장 가능성이 큼, 네임노드/보조네임노드/데이터노드/복제로 구성됨.