반응형

1. 시각화 도구
단순한 수치 데이터를 읽는 것 만으로는 데이터의 의미를 파악하기 어려울 수 있다. 이를 위해 데이터를 쉽게 이해하고 파악하기 위해서 시각화 도구를 사용하게 되고, 각 상황에 따라 필요한 시각화 도구는 달라질 수 있다.
1-1. 대표적인 시각화 도구 3가지와 특징
(1) 스프레드시트
- (장점) 간단한 피벗 테이블부터 크로스 집계, 데이터 시각화가 가능하다.
- (단점) 대량의 데이터를 취급한 시각화는 어렵다.
(2) 대시보드
- SQL 쿼리 작성으로 간편한 대시보드 사용이 가능하다.
- 데이터 검색의 목적 보다는 지속적인 데이터 모니터링을 위해 사용한다.
- 동일한 쿼리를 정기적으로 반복하여 데이터 현황을 파악하는 목적으로 사용하기 적합하다.
(3) 주피터 노트북
- 특정한 서버 설치 없이 데이터를 시각화하여 확인할 수 있다.
- 시각화 작업 과정(코딩)을 기록하여 남겨둘 수 있다.
2. 데이터 마트(Data Mart)의 기본 구조
지금까지의 내용을 통해서 데이터 마트(Data Mart)는 데이터 웨어하우스(Data Warehouse)로 부터 데이터 분석을 목적으로 추출한 테이블이라는 것을 배울 수 있었다. 이번에는 데이터 마트 설계에 필요한 기본적 개념에 대해서 알아보자.
2-1. 트랜잭션과 마스터 테이블

- 트랜잭션(Transaction) : 시간의 흐름에 따라 생성되는 데이터를 기록한 내용
- 마스터(Master) : 트랜잭션에서 참고되는 정보
- 트랜잭션은 한 번 기록되면 변하지 않고, 마스터는 상황에 따라 다시 쓰이게 된다.
2-2. 팩트 테이블과 디멘전 테이블
- 팩트 테이블(Fact Table) : 트랜잭션 처럼 사실이 기록된 테이블을 가리킴
- 디멘전 테이블(Dimension Table) : 트랜잭션에 참고되는 마스터 테이블을 가리킴
2-3. 스타 스키마

- 스타 스키마(Star schema)
- 팩트 테이블(Fact Table)을 중심으로 디멘전 테이블(Dimension Table)을 결합시킨 데이터 마트 구조
- 스타 스키마를 사용하는 이유
- 구조가 단순하여 이해하기 쉽다.
- SQL 쿼리를 통해 테이블을 결합하기 때문에 데이터 분석에 용이하다.
- (성능을 위해) 중심의 팩트 테이블은 최대한 작게 만들고, 이외의 데이터는 디멘전 테이블에 옮김으로써 집계 고속화가 가능하다.
2-4. 정규화 및 비정규화 데이터베이스
- 정규화 및 비정규화 데이터베이스의 의미
- 정규화 데이터베이스(Normalized Database) : 중복을 최소화하도록 설계된 데이터베이스
- 비정규화 데이터베이스(Denormalized Database) : 읽는 시간을 최적화하도록 설계된 데이터베이스
- 쉽게 말하자면 정규화는 테이블 간의 데이터 중복이 발생하지 않도록 DB 구조를 설계하는 작업이고, 비정규화는 시스템 성능과 편의성을 위해 의도적으로 정규화 원칙을 위배한 설계 작업이다.
2-5. 비정규화를 사용하는 상황
- 디스크 I/O량이 많아서 데이터 조회 시 성능이 저하되는 경우
- 테이블간의 많은 조인으로 인한 성능 저하가 발생하는 경우
- 칼럼(column) 데이터를 계산하여 조회할 때 성능이 저하되는 경우
2-6. 정규화/비정규화 데이터베이스 비교
- 정규화 데이터베이스의 장단점

- 비정규화 데이터베이스의 장단점

결국, 정규화를 통해 데이터 조회에 대한 성능이 저하되는 경우 비정규화를 고려하게 된다. 하지만 비정규화를 과도하게 적용하는 경우 데이터 무결성과 중복 저장의 문제 가 발생하게 될 수도 있다. 그러므로 DB 설계 시 정규화 데이터와 비정규화 데이터를 신중하게 판단하는 능력을 갖추어야 한다.
📘참고 서적: [빅데이터를 지탱하는 기술]
니시다 케이스케 지음 / 정인식 옮김
반응형
'[기술서적]' 카테고리의 다른 글
| [빅데이터를 지탱하는 기술] Chapter4.빅데이터의 축적 - (1) (0) | 2023.06.01 |
|---|---|
| [빅데이터를 지탱하는 기술] Chapter3.빅데이터의 분산 처리 - (2) (0) | 2023.06.01 |
| [빅데이터를 지탱하는 기술] Chapter3.빅데이터의 분산 처리 - (1) (0) | 2023.06.01 |
| [빅데이터를 지탱하는 기술] Chapter2.빅데이터의 탐색 - (1) (0) | 2023.06.01 |
| [빅데이터를 지탱하는 기술] Chapter1.빅데이터의 기초 지식 (0) | 2023.06.01 |