본문 바로가기
TechBooks

[BigData] 빅데이터 기초 개념,동인,기법 #5장

by 꿈나무 김땡땡 2020. 7. 3.

책 소개

제목 : 빅데이터 기초 개념, 동인, 기법

저자 : Thomas Erl, Wajid Khattak, Paul Buhler

https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=117002656

 

빅데이터 기초

빅데이터를 매우 실무적 차원에서 접근한 도서이다. 기업에서 빅데이터에 왜 관심이 있는지, 어떠한 비즈니스 문제를 해결하는 데 도움이 되는지, 이를 위해 기업은 전략적, 전술적, 오퍼레이션

www.aladin.co.kr

 

5장. 빅데이터 저장에 대한 개념

1. 클러스터 (Cluster)

  • 밀접하게 결합된 서버 또는 노드들의 모음
  • 네트워크를 통해 서로 연결 되어 하나의 장치로 작동한다.

2. 파일 시스템 및 분산 파일 시스템

  • 파일 시스템(File System) : 플래시 드라이브, DVD 및 하드 드라이브와 같은 저장 장치에 데이터를 저장하고 구성하는 방법
  • 분산 파일 시스템(DFS, Distributed File System) : 클러스터 노드에 분산된 대용량 파일을 저장할 수 있는 파일 시스템
    (e.g. 구글 파일 시스템(GFS), 하둡 분산 파일 시스템(HDFS) 등)

3. NoSQL 데이터베이스

  • 반정형, 비정형 데이터 수용 가능
  • 높은 확장성과 결합 포용성을 가진 비관계형 데이터베이스
  • 애플리케이션 내 호출이 가능한 API 기반 쿼리 인터페이스 제공

4. 샤딩 (Sharding)

  • 대규모의 데이터 세트를 샤드(Shard)라 불리는 더 작고 관리하기 쉬운 데이터 세트로 수평 분할하는 프로세스
  • 샤드는 서버, 머신과 같은 여러 노드에 분산되어 저장된다.
  • 샤딩을 사용하면 여러 노드에 처리 작업량을 분산시켜 수평 확장성 확보 가능

5. 복제 (Replication)

  • 여러 노드에 레플리카(Replica)라고 하는 데이터 세트의 복사보 저장
  • 동일한 데이터가 다양한 노드에 복제 되므로 복제는 확장성과 가용성을 제공한다.
  • 복제 구현 방법
    1. 마스터 슬레이브
      • 노드들은 마스터-슬레이브 구성으로 정렬
      • 쓰기는 마스터 노드에서만. 읽기는 모든 슬레이브 노드에서 가능
      • 읽기 작업의 비일관성 가능
    2. 피어 투 피어
      • 모든 노드가 동일 수준에서 작동
      • 여러 피어 간 동일한 데이터를 동시에 업데이트 함으로써 비일관성 문제 발생 가능
      • 비일관성 문제 해결법
        1. 비관적 동시성 (Pessimistic Concurrency) : 비일관성 사전 방지. 데이터를 한 번에 하나만 업데이트 가능
        2. 낙관적 동시성 (Optimistic Concurrency) : 비일관성 사후 대응. 비일관성이 발생해도 결국 모든 업데이트가 전파 되고 나면 일관성이 유지될 것

 

CAP 정리 (Brewer's Theorem)

  • 분산 데이터베이스 시스템과 관련된 세 가지의 제약 조건
  • 클러스터에서 수행되는 분산 데이터베이스 시스템은 다음 3가지 속성 중 2가지만 제공 가능
    1. 일관성 (Consistency) : 노드에 무관하게 읽기 작업은 동일 데이터 생성
    2. 가용성 (Avaliability) : 읽기/쓰기 요청은 성공/실패의 형태로 확인 가능
    3. 분할 포용성 (Partition Tolerance) : 데이터베이스 시스템은 클러스터를 여러 개의 샤일로(silo)로 분할시키는 통신 중단이 있어도, 읽기/쓰기 요청 처리

ACID

  • 트랜젝션 관리와 관련된 데이터베이스 설계 원리
  • 각 약자의 의미
    1. 원자성 (Atomicity)
    2. 일관성 (Consistency)
    3. 고립성 (Isolation)
    4. 지속성 (Durability)
  • 일관성 유지를 위해 비관적 동시성 활용

BASE

  • CAP 이론을 기반으로 분산 기술을 사용하는 데이터베이스 시스템 설계 원리
  • 각 약자의 의미
    1. 이용 가능한 (Basically Available)
    2. 소프트 상태 (Soft state)
    3. 궁극적 일관성 (Eventual Consistency)
  • 일관성보다 가용성이 좋아진다.
  • 일관성이 부족하면 문제 되는 트랜젝션 시스템에는 사용 X (e.g. 은행 계좌 관리)

 

 

 

댓글