Developers Haven

(DH)블로그는 개발자들이 기술 정보를 찾아볼 수 있는 안식처가 되고 싶음을 희망하여 시작하게 되었습니다. 공부한 내용과 성장 과정을 기록해두었으니 편히 둘러보시길 바랍니다.

Welcome to DH's Blog

[기술서적]

[빅데이터를 지탱하는 기술] Chapter2.빅데이터의 탐색 - (2)

DH’s Blog 2023. 6. 1. 20:45
반응형

 

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 설계 시 정규화 데이터와 비정규화 데이터를 신중하게 판단하는 능력을 갖추어야 한다.

 

 

 

 

 

📘참고 서적: [빅데이터를 지탱하는 기술]
니시다 케이스케 지음 / 정인식 옮김

 

 

반응형