[책정리] 빅데이터를 지탱하는 기술 : 3-3. 데이터 마트의 구축

2022. 6. 20. 16:32·AI & 빅데이터/[Book] 빅데이터를 지탱하는 기술
728x90

CHAPTER 3 빅데이터의 분산 처리

3-1. 대규모 분산 처리의 프레임워크

3-2. 쿼리 엔진

3-3. 데이터 마트의 구축

3-4. 요약

 

3장에서는 분산 시스템의 대표적인 프레임워크인 Hadoop과 Spark를 이용한 데이터 처리에 관해 설명한다.


데이터 마트를 만드는 절차에 있어, 각종 테이블의 역할과 비정규화 테이블을 만들기까지의 흐름을 알아보자.


팩트 테이블 : 시계열 데이터 축적하기

빅데이터의 분석은 데이터를 구조화하는 것부터 시작하며, 그 중 대부분을 차지하는 것이 팩트 테이블이다. 팩트 테이블을 열 지향 스토리지에서 데이터를 압축함으로써 빠른 집계를 할 수 있다.

 

팩트 테이블의 작성에는 '추가' 와 '치환' 의 2가지 방법으로 진행된다. 추가는 말 그대로 새로운 데이터를 추가하는 것이며, 치환은 과거의 데이터를 포함하여 테이블 전체를 치환한다.

 

테이블 파티셔닝

효율만을 생각하면 추가가 좋지만, 아래와 같은 잠재적인 문제가 있다.

- 추가에 실패한 것을 알지 못하면 팩트 테이블의 일부에 결손이 발생할 수 있다.

- 추가를 잘못하여 여러 번 진행하면 팩트 테이블의 일부가 중복된다.

- 나중에 팩트 테이블을 다시 만들고 싶은 경우 관리가 복잡해진다.

 

이러한 문제를 예방하기 위해 '테이블 파티셔닝'이라는 기술을 사용한다.

하나의 테이블을 여러 물리적인 파티션으로 나눔으로써 파티션 단위로 정리하여 데이터를 쓰거나 삭제할 수 있도록 하는 것이다.

일반적으로 1일 1회, 1시간에 1회와 같이 자주 새 파티션을 만들고 그것을 팩트 테이블에 붙여놓는다. 각 파티션은 매번 교체하고, 이미 존재한다면 덮어쓴다. 그렇게 함으로써 데이터가 중복될 가능성을 배제하고 필요에 따라 데이터의 기록을 바로잡을 수 있다.

 

데이터 마트의 치환

테이블 파티셔닝은 데이터 웨어하우스를 구축하는 데 유용하다. 데이터 마트의 데이터 양은 한정되어 있기 때문에, 데이터 마트를 만드는 경우에는 단순히 팩트 테이블을 치환하는 경우가 많다.

치환하는 경우의 장점으로는, 데이터가 중복되거나 빠뜨릴 가능성이 없다. 테이블 다시 만드는 경우 쿼리를 한 번 실행하면 된다. 단점으로는 데이터의 양이 많은 경우 처리 시간이 늘어날 수 있다.

 

 

 

 

 

728x90

'AI & 빅데이터 > [Book] 빅데이터를 지탱하는 기술' 카테고리의 다른 글

[책정리] 빅데이터를 지탱하는 기술 : 3-2. 쿼리 엔진  (0) 2022.06.08
[책정리] 빅데이터를 지탱하는 기술 : 3-1. 대규모 분산 처리의 프레임워크  (0) 2022.06.08
[책정리] 빅데이터를 지탱하는 기술 : 2-4. 데이터 마트의 기본 구조  (0) 2022.06.03
[책정리] 빅데이터를 지탱하는 기술 : 2-3. 애드 혹 분석과 시각화 도구  (0) 2022.05.24
[책정리] 빅데이터를 지탱하는 기술 : 2-2. 열 지향 스토리지에 의한 고속화  (0) 2022.05.23
'AI & 빅데이터/[Book] 빅데이터를 지탱하는 기술' 카테고리의 다른 글
  • [책정리] 빅데이터를 지탱하는 기술 : 3-2. 쿼리 엔진
  • [책정리] 빅데이터를 지탱하는 기술 : 3-1. 대규모 분산 처리의 프레임워크
  • [책정리] 빅데이터를 지탱하는 기술 : 2-4. 데이터 마트의 기본 구조
  • [책정리] 빅데이터를 지탱하는 기술 : 2-3. 애드 혹 분석과 시각화 도구
kiminae
kiminae
공부한 내용을 정리합니다.
  • kiminae
    데이터 다루는 사람
    kiminae
  • 전체
    오늘
    어제
    • 분류 전체보기 (67)
      • AI & 빅데이터 (6)
        • kafka (10)
        • [Book] 빅데이터를 지탱하는 기술 (12)
      • 알고리즘 (19)
      • 알고리즘 문제풀이 (13)
        • programmers (0)
        • 백준 (1)
        • LeetCode (12)
      • Android (3)
      • Book&Lesson (13)
        • [Lesson] 프로그래머스 커뮤러닝 (Pyth.. (1)
      • 참고한 글들 (1)
      • 컨퍼런스 정리 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    알고리즘문제
    시간복잡도
    mvvm
    Algorithm
    leetcode
    버블정렬
    데이터엔지니어
    카프카
    개인화추천
    파이프라인구축
    릿코드
    DP문제
    빅데이터
    MPP데이터베이스
    빅데이터를지탱하는기술
    BI도구
    데이터시각화
    추천알고리즘
    알고리즘풀이
    알고리즘
    카프카클라이언트
    머신러닝
    리트코드
    정렬알고리즘
    ViewModel
    sort
    Kafka
    hadoop
    정렬
    트리
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
kiminae
[책정리] 빅데이터를 지탱하는 기술 : 3-3. 데이터 마트의 구축
상단으로

티스토리툴바