본문 바로가기
빅데이터 이론

[빅분기] 데이터 적재, 저장

by BoomBear 2022. 8. 28.
  • 데이터 적재
    • 여러 데이터 소스에서 데이터를 수집해 오기 위해, 데이터 소스를 처리하고, 분산된 여러 서버에서 데이터를 수집하는 데이터 수집 플랫폼과 저장 방법의 중요성이 점점 더 확대되고 있다.
    • 적재 도구
      • 플루언티드 : 트레저 데이터에서 개발된 크로스 플랫폼 오픈 소스 데이터 수집 소프트웨어로 주로 루비 프로그래밍 언어로 작성
      • 플럼 : 많은 양의 로그 데이터를 효율적으로 수집, 집계 및 이동하기 위해 이벤트와 에이전트를 활용하는 분산형 로그 수집 기술
      • 스크라이브 : 다수의 서버로부터 실시간으로 스트리밍 되는 로그 데이터를 수집하여 분산 시스템에 데이터를 저장하는 대용량 실시간 로그 수집 기술
      • 로그스태시 : 모든 로그 정보를 수집하여 하나의 저장소에 출력해주는 시스템
  • 데이터 저장
    • 저장기술
      • 데이터 웨어하우스 : 사용자의 의사 결정에 도움을 주기 위하여, 기간 시스템의 데이터베이스에 축적된 데이터를 공통 형식으로 변환해서 관리하는 데이터베이스
        • 특징 : 주제 지향적, 통합적, 시 계열적, 비휘발적
      • 데이터 마트 : 전사적으로 구축된 데이터 속의 특정 주제, 부서 중심으로 구축된 소규모 단위 주제의 데이터 웨어하우스
        • 특징 : 데이터 웨어하우스에서 데이터를 꺼내 사용자에게 제공하는 역할을 하며 대개 특정한 조직 혹은 팀에서 사용하는 것을 목적으로 한다.
      • 데이터 레이크 : 정형, 반정형, 비정형 데이터를 비롯한 모든 가공되지 않은 다양한 종류의 데이터를 저장할 수 있는 시스템 또는 중앙집중식 데이터 저장소
        • 특징 : 구조화된 데이터는 RDBMS에  반구조화된 데이터는 CSV, XML, JSON에 비정형 데이터는 바이너리 데이터에 저장된다.
  • 빅데이터 저장기술
    • 구글 파일 시스템 : 구글의 대규모 클러스터 서비스 플랫폼의 기반이 되는 파일 시스템으로 파일을 고정된 크기의 청크들로 나누며 각 청크와 여러 개의 복제본을 청크 서버에 분산하여 저장한다.
      • 구성요소
        • 클라이언트 : 파일에 대한 읽기/쓰기 동작을 요청하는 POSIX 인터페이스를 지원하지 않으며, 파일 시스템 인터페이스와 유사한 자체 인터페이스를 지원하며, 여러 클라이언트에서 원자적인 데이터 추가 연산을 지원하기 위한 인터페이스 지원
        • 마스터 : 단일 마스터 구조로 파일 시스템의 이름 공간, 파일과 정크의 매핑 정보, 각 청크가 저장된 청크 서버들의 위치정보 등에 해당하는 모든 메타데이터를 메모리상에서 관리
        • 청크 서버 : 로컬 디스크에 청크를 저장하며, 클라이언트가 청크 입출력을 요청하면 청크서버가 처리하여 주기적으로 청크 서버의 상태를 하트비트 메시지로 마스터에게 전달한다
    • 하둡 분산 파일 시스템 : 수십 테라바이트 또는 페타바이트 이상의 대용량 파일을 분산된 서버에 저장하고, 저장된 데이터를 빠르게 처리할 수 있게 하는 분산 파일 시스템이며, 블록 구조의 파일 시스템으로 파일을 특정 크기의 블록으로 나누어 분산된 서버에 저장
      • 구성요소
        • 네임 노드 : HDFS 상의 모든 메타데이터를 관리하며 마스터/슬레이브 구조에서 마스터 역할을 수행하고, 데이터 노드들로부터 하트비트를 받아 데이터 노드들의 상태를 체크하는데, 하트비트 메시지에 포함된 블록 정보를 가지고 블록 상태를 체크한다.
        • 보조네임 노드 : HDFS 상태 모니터링을 보조하며, 주기적으로 네임 노드의 파일 시스템 이미지를 스냅샷으로 생성
        • 데이터 노드 : HDFS 의 슬레이브 노드로, 데이터 입출력 요청을 처리하고, 데이터 유실 방지를 위해 블록을 3중으로 복제하여 저장
    • 러스터 : 클러스터 파일 시스템에서 개발한 객체기반의 클러스터 파일 시스템
      • 구성요소
        • 클라이언트 파일 시스템 : 리눅스 VFS 에서 설치할 수 있는 파일 시스템으로 메타데이터 서버와 객체 저장 서버들과 통신하면서 클라이언트 응용에 파일 시스템 인터페이스를 제공한다.
        • 메타데이터 서버 : 파일 시스템의 이름 공간과 파일에 대한 메타데이터를 관리한다.
        • 객체 저장 서버 : 파일 데이터를 저장하고, 클라이언트로부터의 객체 입출력 요청을 처리하며, 데이터는 세그먼트라는 작은 데이터 단위로 분할해서 복수의 디스크 장치에 분산키시는 기술인 스트라이핑 방식으로 분산, 저장한다.
    • 데이터베이스 클러스터 : 하나의 데이터베이스를 여러 개의 서버상에 분산하여 구축하는 것을 의미하며, 데이터를 통합할 때 성능과 가용성의 향상을 위해 데이터베이스 파티셔닝 또는 클러스터링을 이용한다.
      • 종류
        • 공유 디스크 클러스터 : 데이터 파일은 논리적으로 데이터 파일을 공유하여 모든 데이터에 접근 가능하게 하는 방식으로 데이터 공유를 위해 SAN과 같은 네트워크 장비가 있어야한다. 모든 노드가 데이터를 수정할 수 있어, 동기화 작업을 위한 채널이 필요하고 높은 수준의 고가용성을 제공하므로 클러스터 노드중 하나만 살아 있어도 서비스가 가능하다.
        • 무공유 디스크 클러스터 : 무공유 클러스터에서 각 데이터베이스 인스턴스는 자신이 관리하는 데이터 파일을 자신의 로컬 디스크에 저장하며, 이 파일들은 노드 간에 공유하지 않고, 노드확장에 제한이 없지만, 각 노드에 장애가 발생할 경우를 대비해 별도의 FTA 를 구성해야한다.
    • NoSQL : 대규모 데이터를 저장하기 위하여 고정된 테이블 스키마가 없고 조인 연산을 사용할 수 없으며, 수평적으로 확장이 가능한 DBMS이며, 관계형 모델을 사용하지 않는 데이터 저장소 또는 인터페이스이며, 대규모 데이터를 처리하기 위한 기술로 확장성, 가용성, 높은 성능을 제공한다.
      • 특성
        • Basically Available : 언제든지 데이터는 접근할 수 있어야 하는 속성이며, 분산 시스템이기 때문에 항상 가용성을 중시한다.
        • Soft-State : 노드의 상태는 내부에 포함된 정보에 의해 결정되는 것이 아니라 외부에서 전송된 정보를 통해 결정되는 속성이며, 특정 시점에서는 데이터의 일관성이 보장되지 않는다.
        • Eventually Consistency : 일정 시간이 지나면 데이터의 일관성이 유지되는 속성으로, 일관성을 중시하고 지향한다.
      • 유형
        • Key-Value Store : Unique 한 Key에 하나의 Value를 가지고 있는 DB로 키 기간의 Get/Put/Delete를 이용해 빅데이터 처리가 가능한 DB이다.
        • Column Family Data Store : Key 안에 (Column, Value) 조합으로 된 여러 개의 필드를 갖는 DB로 테이블 기반, 조인 미지원, 컬럼 기반, 구글의 BigTable 기반으로 구현된다.
        • Document Store : Value의 데이터 타입이 Document라는 타입을 사용하는 DB로 Document 타임은 XML, JSON, YAML과 같은 구조화된 데이터 타입으로, 복잡한 계층 구조를 표현할 수 있다.
        • Graph Store : 시맨틱 웹과 온톨로지 분야에서 활용되는 그래프로 데이터를 표현하는 DB
      • CAP 이론 : 분산 컴퓨팅 환경은 유효성, 일관성, 분산 가능 3가지 특징을 가지고 잇으며, 이중 두 가지만 만족할 수 있다는 이론
        • 특성
          • 일관성 : 모든 사용자에게 같은 시간에는 같은 데이터를 보여주어야 한다는 특성
          • 유효성 : 모든 클라이언트가 읽기 및 쓰기가 가능해야 한다는 특성이며, 하나의 노드에 장애가 일어나더라도 다른 노드에는 영향을 미치면 안 되는 특성
          • 분산 가능 : 물리적 네트워크 분산 환경에서 시스템이 원할하게 동작해야 한다는 특성으로 네트워크 전송 중 데이터 손실 상황이 생겨도 시스템은 정상적으로 동작해야 한다는 특성
반응형

'빅데이터 이론' 카테고리의 다른 글

[빅분기] 변수  (0) 2022.08.29
[빅분기] 데이터 정제  (0) 2022.08.28
[빅분기] 데이터 유형 및 비식별화  (0) 2022.08.28
[빅분기] 빅데이터 수집  (0) 2022.08.28
[빅분기] 빅데이터 분석 방법론  (0) 2022.08.28

댓글