열렬히.뛰기

3-2 : 데이터 적재 및 저장

수학 & 통계 > 빅데이터 분석기사 > 개념정리 > 빅분기 개념정리 > 3-2 : 데이터 적재 및 저장

데이터 적재

데이터 적재 도구

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

  • 플루언티드(fluentd)
  • 플럼 (flume)
  • 스크라이브 (scribe)
  • 로그스태시 (logstash)

데이터 저장

빅데이터 저장시스템

  1. 파일 시스템
  2. 데이터베이스 저장방식

분산 파일 시스템

  1. 하둡 분산파일 시스템
    • 아파치 진영에서 시작
    • HDFS는 대용량 파일을 클러스터에 여러 블록으로 분산해서 저장. 블록들은 마지막 블록을 제외하고 모두 크기가 동일 (기본 64mb)
    • 마스터 하나와 슬레이브 여러개로 구성
    • 마스터 : 네임노드라고도 하며 슬레이브를 관리하는 메타데이터와 모니터링 시스템을 운영
    • 슬레이브 : 데이터노드라고도 하며 데이터 블록을 분산처리.
    • 상용 소프트웨어에 비해서는 기술 지원이 쉽지는 않다.
    • 데이터 복제기법을 데이터 손상 방지로 사용.
  2. 구글 파일 시스템
    • 마스터, 청크서버, 클라이언트로 구성
    • 마스터 : GFS 전체 상태를 관리하고 통제
    • 청크서버 : 물리적인 하드디스크의 실제 입출력 처리
    • 클라이언트 : 파일을 읽고 쓰는 동작을 요청.

NOSQL

전통적인 관계형 DB보다 유연한 데이터의 저장 및 검색 지원

대규모 데이터를 처리하기 위한 확장성, 가용성 및 높은 성능 지원

CAP 이론

분산 컴퓨팅의 특징 : 일관성(consistency), 가용성(availability), 지속성(partition tolerance)

  • 일관성 : 분산 환경에서 모든 노드가 같은 시점에 같은 데이터를 보여줘야 한다.
  • 가용성 : 일부 노드가 다운되어도 다른 노드에 영향을 주지 않아야 한다.
  • 지속성 : 데이터 전송 중에 일부 데이터를 손실하더라도 시스템은 정상 동작해야 한다.

CAP 이론의 적용

  • RDBMS : 일관성과 가용성 선택
  • NoSQL : 일관성/가용성 둘 중 하나 포기. 지속성 보장

NoSQL의 특징

  1. 스키마가 없다
  2. 탄력성
  3. 질의 기능
  4. 캐싱

NoSQL의 데이터 모델

  1. key-value
    • 간단한 모델에 기반을 두고 있다.
    • 확장성이 뛰어나고, 질의 응답시간이 빠르다.
    • 범위 질의는 사용이 어렵다.
    • 응용 프로그램 모델링이 복잡.
    • Dynamo, Redis
  2. column-oriented
    • 여러개의 노드로 분할해 저장.
    • 연관된 데이터 위주로 읽는데 유리한 구조
    • 하나의 레코드 변경시 여러 곳을 수정해야 함
    • 동일 도메인의 열 값이 연속되므로 압축 효율이 좋다.
    • 범위 질의에 유리하다.
    • Bigtable, Cassandra
  3. Document-based
    • 문서의 내부 구조에 기반한 복잡한 데이터 저장 지원
    • 레코드 간의 관계 설명이 가능하다.
    • 개념적으로 RDBMS와 유사하다.
    • MongoDB