자격증/빅데이터분석기사

[빅데이터분석기사] 빅데이터 분석 기획 - 데이터 수집 및 저장 계획

glorypang 2025. 3. 29. 21:01
728x90
반응형
SMALL

데이터 수집 및 전환

1. 데이터 수집 기술

기술 설명
ETL Extraction, Transformation, Load. 데이터를 수집·정제·적재하는 3단계 방식 (DW, DM, ODS에 저장)
ETL의 유형: Batch ETL, Real-Time ETL
대용량 데이터 처리를 위해 MPP(병렬처리 프로세스)지원
FTP 네트워크 간 파일 전송을 위한 통신 프로토콜
API 프로그램 간 데이터 전송 인터페이스
Sqoop RDBMS ↔ Hadoop 간 대용량 데이터 이동 도구
웹 크롤링 웹 페이지에서 데이터를 자동으로 수집하는 기법

💡 ETL은 데이터 이동과 정제의 핵심 도구!


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

데이터 성격별 구분

분류  내용  예시
정성적 특징을 언어로 설명 주관식, 기상특보
정량적 수치화된 정보 온도, 풍속

 

데이터 형태별 구분

분류  설명  예시
정형 구조화된 데이터 DB, 엑셀, CSV
반정형 메타데이터 포함 JSON, XML, HTML, RDF
비정형 구조 없는 데이터(동적 형태) 텍스트, 이미지, 음성, 동영상

3. 데이터 척도 구분

척도  유형  설명 예시
명목척도 구분만 가능 성별, 학교
순서척도 서열 존재 학년, 순위
등간척도 간격은 의미, 비율은 X 온도, 지수
비율척도 0 기준, 사칙연산 가능 무게, 나이

4.개인정보 비식별화 기술

기법  설명
데이터 마스킹 홍길동 → 홍XX
가명처리 홍길동 → 임꺽정
총계처리 A+B 합산 또는 평균
범주화 35세 → 30~40세
삭제 특정 데이터값 삭제

5. 프라이버시 보호 모델

  • k-익명성
    • 최소한 k명 이상의 정보가 동일하게 보이도록 처리
    • 나이, 지역, 성별 등이 동일한 그룹으로 묶여, 특정 개인을 식별할 수 없게 처리
    • 예: "30대 여성, 서울 거주자"가 5명 이상 존재
  • l-다양성
    • 민감정보 다양성 확보로 추론 위험 감소
    • 동일한 k-익명 그룹 내에서 민감한 정보(예: 질병명)가 다양하게 포함되도록 처리
    • 예: "30대 여성, 서울 거주자" 그룹에 암, 고혈압, 당뇨 등 다양한 질병이 존재
  • t-근접성
    • 민감정보 분포가 전체 분포와 유사하게 유지되도록 조정
    • 특정 그룹 내 민감정보 분포가 전체 데이터와 유사하도록 조정
    • 예: 전체 암 환자 비율이 20%라면, 그룹 내에서도 암이 약 20%로 유지되도록 설정

💡 보안 단계: k < l < t (점점 더 정밀해짐)


6. 차등 정보 보호 (Differential Privacy)

  • 개인정보를 다른 수많은 데이터와 조합
  • 많은 데이터와 섞어서 통계는 얻되, 개별 정보는 보호

7. 데이터 품질 검증

7.1 정형 데이터의 품질 기준

  • 유효성:
    • 정확성(Accuracy) : 데이터 값이 실제 현실을 올바르게 반영하는가?
    • 일관성(Consistency): 여러 시스템/파일 간 데이터 값이 서로 모순되지 않는가?
  • 활용성:
    • 유용성(Usefulness): 해당 데이터가 분석 목적에 적합한 정보를 담고 있는가?
    • 접근성(Accessibility): 필요한 사람이 필요한 시점에 쉽게 접근 가능한가?
    • 적시성(Timeliness): 데이터가 최신 상태를 반영하고 있는가?
    • 보안성(Security): 개인정보·기밀정보에 대한 접근 통제와 안전한 관리가 이루어지는가?

7.2 고품질 데이터의 특성

  • 정확성 (Accuracy): 데이터 값이 실제 현실과 얼마나 일치하는가?
  • 완전성 (Completeness): 필요한 모든 항목이 누락 없이 존재하는가?
  • 일관성 (Consistency): 시스템, 테이블, 시간 간 모순 없이 동일한 값을 유지하는가?
  • 적시성 (Timeliness): 데이터가 최신 상태인가? 적절한 주기로 갱신되고 있는가?
  • 접근성 (Accessibility): 사용자가 쉽게 접근할 수 있는 구조인가?
  • 신뢰성 (Reliability): 데이터가 변조되지 않고, 신뢰할 수 있는 출처인가?

데이터 적재 및 저장

1. 분산 파일 시스템

  • 분산 저장: 파일을 여러 서버에 블록 단위로 나눠 저장
  • 복제(중복 저장): 서버 장애 대비를 위해 기본적으로 2~3개 이상 복제
  • 확장성: 노드를 추가하여 용량 및 성능 수평 확장 가능 (Scale-Out 구조)
  • 범용 하드웨어 사용: 고가의 장비 대신 x86 기반 서버 사용
  • 장애 허용성: 일부 서버에 문제가 생겨도 데이터 복구 및 연속 운영 가능
  • 네트워크 기반 접근: 사용자와 저장소가 분리되어 있어, 네트워크를 통해 파일에 접근

 

1.1 HDFS (Hadoop Distributed File System)

  • 하둡 생태계의 핵심 저장소로, 대용량 데이터를 분산 저장하는 파일 시스템
  • 구글의 GFS를 참고하여 개발한 오픈소스 시스템 ( 소스 코드는 공유되지 않으며, 구조만 유사)
항목 설명
분산 저장 파일을 기본적으로 64MB 블록으로 나눠 여러 노드에 저장 (요즘은 128MB 이상도 가능)
복제(Replication) 기본 설정으로 3개 노드에 복제 저장하여 장애 대비 ( 횟수는 사용자가 지정)
NameNode & DataNode 구조 NameNode는 메타데이터(파일 위치 등), DataNode는 실제 데이터 저장
확장성 우수 노드를 추가하여 쉽게 용량 확장 가능
오픈소스 아파치 재단이 관리하며 누구나 자유롭게 사용 가능

 

1.2 MapReduce

  • 하둡에서 대용량 데이터를 병렬 처리하기 위한 핵심 컴퓨팅 프레임워크
  • Map(분할)Reduce(통합) 방식으로 작동

✅ 작동 원리

  1. Map 단계: 입력 데이터를 키-값 쌍으로 분할 → 여러 노드에서 병렬 처리
  2. Shuffle 단계: 키 기준으로 데이터를 정렬/그룹핑
  3. Reduce 단계: 같은 키를 가진 데이터들을 합쳐서 최종 결과 생성
패턴 설명
단어 카운트 텍스트에서 단어별 빈도 수 계산
그룹화 특정 필드 기준으로 묶기 (예: 고객별 총 구매)
조인 여러 데이터셋 병합
필터링 조건에 맞는 데이터 추출
통계 평균, 합계 등 계산

 

1.3 GFS (Google File System)

  • 구글이 자사 서비스를 위해 개발한 분산 파일 시스템
  • HDFS의 설계 기반이 된 원형 시스템
항목  설명
구글 내부용 검색엔진, Gmail 등 대규모 데이터 처리에 사용
큰 파일 최적화 64MB~ 수백 MB 단위의 대용량 파일 처리에 유리
고장 허용 파일 복제와 장애 복구 메커니즘 탑재
HDFS 모델 HDFS는 GFS의 철학과 구조를 오픈소스로 계승

 

1.4 관계 요약

GFS → HDFS → Hadoop 생태계 저장
         ↓
      MapReduce → Hadoop 생태계 연산
  • GFS: 구글이 만든 오리지널 모델
  • HDFS: GFS를 오픈소스로 구현한 저장 기술
  • MapReduce: HDFS 위에 올라가는 분산 병렬 처리 엔진

2. 데이터베이스 유형

유형  설명
관계형 DB 정형 데이터 처리 (예: Oracle, MySQL)
NoSQL DB 비정형/반정형 데이터 처리 (예: MongoDB, Cassandra)

 

1. NoSQL DB의 주요 유형

유형 설명 대표 예시 특징 및 활용
키-값(Key-Value) 저장소 데이터가 고유한 키(Key)와 해당 값(Value)의 쌍으로 저장됨. Redis, DynamoDB, Riak - 매우 빠른 읽기/쓰기
- 세션 저장, 캐시, 간단한 설정값 저장에 적합
문서(Document) 지향 DB JSON, BSON, XML 형식의 유연한 구조의 문서(Document) 형태로 데이터를 저장 MongoDB, CouchDB, Firebase, Orcal DB, Voldmrte - 스키마 유연성
- 복잡한 구조 저장 가능
- 웹앱, 로그 수집 등에 많이 사용
컬럼(Column) 지향 DB RDB처럼 행-열 구조지만, 열 중심 저장 방식으로 대량의 열 데이터 처리에 특화 Apache Cassandra, HBase, ScyllaDB - 대규모 분산 시스템에 강함
- 로그 분석, IoT, 타임시리즈 데이터에 적합
그래프(Graph) DB 데이터 간의 관계(간선)를 중점적으로 저장 및 탐색 Neo4j, ArangoDB, Amazon Neptune - 노드/간선 기반 모델
- 소셜 네트워크, 추천 시스템, 경로 탐색 등에 적합

3. 병렬 DBMS

  • 병렬 처리 기반 성능 향상 DBMS
  • 아키텍처 구조:
    • Shared Memory
    • Shared Disk
    • Shared Nothing (확장성 가장 우수)
  • 예시: VoltDB, SAP HANA, Vertica

4. DW / DM / 데이터 레이크

  • DW (Data Warehouse)
    • 기업의 데이터를 분석용으로 통합, 정형화된 저장소
    • 주제지향성: 분석목적 설정이 중요
    • 데이터 통합: 일관화 된 형식으로 저장
    • 시계열성: 히스토리를 가진 데이터
    • 비휘발성: 수시로 변하지 않음

 

  • DM (Data Mart)
    • DW의 하위 집합 (소규모 DW)
    • 특정 부서나 업무 목적에 집중

 

  • 데이터 레이크
    • 비정형 데이터 중심 저장소
    • 하둡 기반 처리 연계 가능

💡 데이터 이동에는 ETL을 활용

728x90
반응형
LIST