CHAPTER 3 빅데이터의 분산 처리
3-1. 대규모 분산 처리의 프레임워크
3-2. 쿼리 엔진
3-3. 데이터 마트의 구축
3-4. 요약
3장에서는 분산 시스템의 대표적인 프레임워크인 Hadoop과 Spark를 이용한 데이터 처리에 관해 설명한다.
데이터 마트를 만드는 절차에 있어, 각종 테이블의 역할과 비정규화 테이블을 만들기까지의 흐름을 알아보자.
팩트 테이블 : 시계열 데이터 축적하기
빅데이터의 분석은 데이터를 구조화하는 것부터 시작하며, 그 중 대부분을 차지하는 것이 팩트 테이블이다. 팩트 테이블을 열 지향 스토리지에서 데이터를 압축함으로써 빠른 집계를 할 수 있다.
팩트 테이블의 작성에는 '추가' 와 '치환' 의 2가지 방법으로 진행된다. 추가는 말 그대로 새로운 데이터를 추가하는 것이며, 치환은 과거의 데이터를 포함하여 테이블 전체를 치환한다.
테이블 파티셔닝
효율만을 생각하면 추가가 좋지만, 아래와 같은 잠재적인 문제가 있다.
- 추가에 실패한 것을 알지 못하면 팩트 테이블의 일부에 결손이 발생할 수 있다.
- 추가를 잘못하여 여러 번 진행하면 팩트 테이블의 일부가 중복된다.
- 나중에 팩트 테이블을 다시 만들고 싶은 경우 관리가 복잡해진다.
이러한 문제를 예방하기 위해 '테이블 파티셔닝'이라는 기술을 사용한다.
하나의 테이블을 여러 물리적인 파티션으로 나눔으로써 파티션 단위로 정리하여 데이터를 쓰거나 삭제할 수 있도록 하는 것이다.
일반적으로 1일 1회, 1시간에 1회와 같이 자주 새 파티션을 만들고 그것을 팩트 테이블에 붙여놓는다. 각 파티션은 매번 교체하고, 이미 존재한다면 덮어쓴다. 그렇게 함으로써 데이터가 중복될 가능성을 배제하고 필요에 따라 데이터의 기록을 바로잡을 수 있다.
데이터 마트의 치환
테이블 파티셔닝은 데이터 웨어하우스를 구축하는 데 유용하다. 데이터 마트의 데이터 양은 한정되어 있기 때문에, 데이터 마트를 만드는 경우에는 단순히 팩트 테이블을 치환하는 경우가 많다.
치환하는 경우의 장점으로는, 데이터가 중복되거나 빠뜨릴 가능성이 없다. 테이블 다시 만드는 경우 쿼리를 한 번 실행하면 된다. 단점으로는 데이터의 양이 많은 경우 처리 시간이 늘어날 수 있다.
'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 |