자격증/빅데이터분석기사
[빅데이터분석기사] 빅데이터 분석 기획 - 데이터 수집 및 저장 계획
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(통합) 방식으로 작동
✅ 작동 원리
- Map 단계: 입력 데이터를 키-값 쌍으로 분할 → 여러 노드에서 병렬 처리
- Shuffle 단계: 키 기준으로 데이터를 정렬/그룹핑
- 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