본문 바로가기
자격증/빅데이터분석기사

[P01CH03S02] 데이터 적재 및 저장

by rnasterofmysea 2025. 3. 12.
728x90
반응형

PART01: 빅데이터 분석 기획

CHAPTER03: 데이터 수집 및 저장 계획

 

[P01CH03S02] 데이터 적재 및 저장


1. 데이터 적재 (Data Ingestion)

1.1 데이터 적재 개요

데이터 적재는 수집한 데이터를 분석을 위한 저장 시스템에 적재하는 과정을 의미합니다.
이 과정에서는 데이터의 유형과 특성에 따라 적절한 저장소를 선택하고, 정확하고 효율적인 적재 방법을 적용해야 합니다.

  • 데이터 적재 대상
    • 관계형 데이터베이스(RDB)
    • HDFS (Hadoop Distributed File System)
    • NoSQL 저장 시스템 (MongoDB, Cassandra 등)

1.2 데이터 적재 방식

1) 데이터 수집 도구를 이용한 데이터 적재

  • 플루언티드 (Fluentd)
    • 로그 데이터를 다양한 형태로 수집하여 JSON 포맷으로 변환 후 다양한 저장소에 적재하는 도구
  • 플럼 (Flume)
    • 대량의 로그 데이터 및 이벤트 데이터를 실시간으로 수집 및 적재
  • 스크라이브 (Scribe)
    • 서버에서 실시간으로 생성되는 로그 데이터를 집약하여 분산 파일 시스템에 적재
  • 로그스태시 (Logstash)
    • 다양한 소스에서 데이터를 수집하여 변환 후 Elasticsearch, RDB 등에 저장

2) NoSQL DBMS의 적재 도구 활용

  • MongoDB: mongoimport를 이용하여 CSV, JSON 등의 데이터 적재 가능
  • HBase: BulkLoad 기능을 이용하여 대량 데이터 적재 가능
  • Cassandra: cqlsh 명령어를 통해 직접 데이터 적재 가능

3) RDB에서 NoSQL로 데이터 적재

  • SQLtoNoSQLimporter, Mongify 등의 도구를 이용하여 RDB 데이터를 NoSQL DBMS에 변환하여 적재 가능
  • 데이터 변환이 많다면, ETL(Extract, Transform, Load) 도구를 사용하여 맞춤형 적재 프로세스 설계

1.3 데이터 적재 검증 및 테스트

데이터 적재 후 데이터의 정확성과 무결성을 검증하는 과정이 필요합니다.

  • 체크리스트 검증
    • 정형 데이터: 테이블 개수, 속성 개수, 데이터 타입, 레코드 수 일치 여부 확인
    • 비정형 데이터: 원천 데이터의 테이블이 목적지 저장소와 일치하는지 확인
  • 테스트 케이스 작성 및 실행
    • 샘플 데이터를 이용하여 저장소에서 조회 및 무결성 검증
    • 데이터 타입, 인코딩(예: 한글 처리) 등을 점검
    • 숫자 데이터가 문자열로 저장되거나 반대로 변환되지 않았는지 확인
  • 적재 결과 검토 및 보고서 작성
    • 이상 데이터 검출 및 수정 후 최종 적재 완료 보고서 작성

2. 데이터 저장 (Data Storage)

2.1 빅데이터 저장시스템 개요

빅데이터 저장시스템은 대량의 데이터를 안정적으로 저장하고 관리하는 시스템을 의미합니다.
데이터의 유형과 처리 방식에 따라 여러 저장 방법이 존재합니다.

2.2 빅데이터 저장 방식

1) 파일 시스템 저장방식

  • 하둡 분산 파일 시스템 (HDFS)
    • 대용량 파일을 블록 단위로 나누어 저장하여 데이터의 분산 저장 및 복제를 수행
    • 마스터-슬레이브 구조(네임노드 & 데이터노드)로 구성
  • 구글 파일 시스템 (GFS)
    • 마스터-청크 서버-클라이언트 구조로 데이터 관리
    • 대규모 분산 환경에서 안정적인 파일 저장을 지원

2) 데이터베이스 저장방식

  • 관계형 데이터베이스 (RDBMS)
    • 데이터 무결성 및 ACID 트랜잭션을 보장하지만 대용량 데이터 처리에는 적합하지 않음
  • NoSQL
    • RDB보다 유연한 스키마를 제공하며, 대용량 데이터 저장 및 분산 처리가 가능
    • 유형: 키-값 저장소, 문서 지향 저장소, 칼럼 기반 저장소, 그래프 데이터베이스

3. 분산 파일 시스템 (Distributed File System)

3.1 하둡 분산 파일 시스템 (HDFS)

  • 대규모 데이터를 블록 단위로 분할하여 여러 서버에 분산 저장
  • 구성 요소
    • 네임노드 (NameNode): 파일 시스템 메타데이터 관리
    • 데이터노드 (DataNode): 실제 데이터를 저장하는 노드
  • 장점
    • 대용량 비정형 데이터 저장 가능
    • 확장성이 뛰어나며 장애 발생 시 데이터 복구 가능
    • 오픈소스로 무료 사용 가능

3.2 구글 파일 시스템 (GFS)

  • 마스터, 청크 서버, 클라이언트로 구성된 분산 파일 시스템
  • 파일을 64MB 청크 단위로 저장하여 고속 데이터 처리 지원
  • 높은 장애 복구 기능 제공

4. NoSQL 저장 시스템

4.1 NoSQL 개요

NoSQL은 대량의 데이터를 유연하게 저장 및 검색할 수 있도록 설계된 데이터베이스 시스템입니다.

구분 장점 단점

RDBMS 데이터 무결성 보장, ACID 트랜잭션 지원 확장성 한계, 클라우드 환경에 부적합
NoSQL 높은 확장성, 다양한 데이터 저장 방식 지원 데이터 무결성 부족, 강한 일관성 미보장

4.2 NoSQL의 데이터 모델

  • 키-값 저장소 (Key-Value Store)
    • 단순한 데이터 모델로 빠른 응답 속도 제공
    • 예: Redis, DynamoDB
  • 문서형 데이터베이스 (Document-Oriented DB)
    • JSON, XML과 같은 문서 형태로 데이터를 저장
    • 예: MongoDB, CouchDB
  • 열 기반 데이터베이스 (Column-Oriented DB)
    • 컬럼 기반으로 데이터 저장, 빅데이터 분석에 최적화
    • 예: HBase, Cassandra
  • 그래프 데이터베이스 (Graph DB)
    • 노드와 엣지를 활용한 데이터 저장 및 분석
    • 예: Neo4j, ArangoDB

5. 빅데이터 저장시스템 선정 기준

빅데이터 저장시스템을 선택할 때는 다음과 같은 기준을 고려해야 합니다.

  • 데이터 유형 분석
    • 정형 데이터(RDB), 비정형 데이터(NoSQL) 등 데이터 특성 파악
  • 확장성 및 성능 평가
    • 저장소의 확장 가능성과 데이터 처리 성능 검토
  • 기존 시스템과의 연계
    • 기존 데이터베이스, 클라우드 시스템과 호환성 고려
  • 데이터 안정성 및 신뢰성 확보
    • 장애 복구 기능, 보안성, 접근 제어 기능 확인

 

💡 도움이 되셨다면 댓글과 공감 부탁드립니다! 😊
📌 더 많은 알고리즘 풀이와 프로그래밍 자료는 블로그에서 확인하세요!
✉️ 문의나 피드백은 댓글이나 이메일로 남겨주세요.

 

728x90
반응형