파이썬(Python)/Data Engineering

[Step 3] 스타 스키마로 Data Mart 설계하기 & BI툴 시각화 실습

DA Damla 2025. 5. 7. 08:41

부제: Redshift로 데이터 마트 만들고 BI툴과 연동하기 (또는 CSV로 우회한 과정까지)

목차

  1. 프로젝트 목표
  2. 스타 스키마란?
  3. Redshift에서 Fact / Dimension 테이블 만들기
  4. 무료 BI툴 탐색 및 비교
  5. BI툴 연동 실패 및 CSV 대안 사용기
  6. 마무리하며

1. 프로젝트 목표

이번 단계에서는 Redshift에 저장된 데이터를 분석 목적에 맞게 재구성(스타 스키마 설계)하고, BI툴로 시각화하는 실습을 진행했다. 목표는 단순 저장된 데이터를 그대로 쓰는 것이 아니라, 분석 및 대시보드 제작에 적합한 형태로 가공 → 시각화까지 이어가는 것이다.

2. 스타 스키마란?

스타 스키마(Star Schema)는 데이터 마트 설계 시 자주 사용하는 구조로, 중앙에 하나의 Fact Table을 두고 그 주변에 Dimension Table들을 배치하는 형태다.

구성 예시

  • Fact Table: 주문 테이블 (주문 ID, 날짜, 금액 등)
  • Dimension Table: 고객, 상품, 지역 등

이 구조는 분석 성능이 빠르고, 시각화나 보고서 작성에도 용이하다.
RDS에서 생성한 테이블은 Transaction & Master table로 똑같은 용어로 쓰인다.

 

3. Redshift에서 스타 스키마 생성

Redshift Query Editor V2를 통해 기존 row data를 가공하여 Fact 테이블과 Dimension 테이블을 생성했다.

예시: 주문 데이터 기준

-- Fact Table
CREATE TABLE IF NOT EXISTS fact_orders AS
SELECT
    o.order_id,
    o.customer_id,
    o.product_id,
    o.order_date,
    o.total_price
FROM raw_orders o;

-- Dimension Table
CREATE TABLE IF NOT EXISTS dim_customers AS
SELECT DISTINCT
    c.customer_id,
    c.name,
    c.email,
    c.region
FROM raw_customers c;

이렇게 여러 테이블로 병합한 이유는 BI툴에서 조인 없이도 쉽게 시각화 가능한 구조를 만들기 위함이었다.

4. 무료 BI툴 탐색 및 비교

BI툴은 시각화를 위해 필수이기 때문에, 다음 3가지 무료 툴의 장단점을 비교해서 선택했다

<3개 BI툴 비교>

BI 툴 장점 단점
Looker Studio 사용법 쉬움, Google 계정 연동 편리 Redshift 연결 시 설정 복잡
Metabase 오픈소스, SQL 기반 대시보드 제작 강점 AWS 연동은 설정 필요
Tableau Public 인터랙티브한 시각화 가능 사용법이 다소 무거움
 
5. BI툴 연동 실패 및 CSV 우회 사용기

처음 계획은 Redshift에 만든 스타 스키마 테이블을 BI툴과 직접 연결하는 것이었다.
하지만 문제가 발생했다.

❌ 실패 원인

  • Redshift Serverless는 퍼블릭 액세스를 차단한 상태로 생성했기 때문 (무료버전을 사용하기 위함)
    • 외부 BI툴(예: Looker Studio, Tableau)에서는 해당 워크그룹에 접근할 수 없었음

✅ 결국 택한 우회 방법

  • Redshift에서 데이터를 CSV로 내보낸 후, BI툴에 직접 업로드
    • Metabase 및 Looker Studio 모두 CSV 업로드 가능

이상적이진 않았지만, 구조 설계와 시각화 흐름 자체를 확인하는 데에는 충분히 의미 있는 방식이었다.

 

6. 마무리하며

이번 실습을 통해 단순히 데이터를 저장하는 단계를 넘어서
분석 목적에 맞게 설계하고, 시각화까지 연결하는 전체 흐름을 실습할 수 있었다.

비록 Redshift와 BI툴을 직접 연동하지는 못했지만,
스타 스키마 설계의 중요성과, 실무에서 권한 문제로 인해 종종 발생하는 현실적인 제약을 몸소 경험할 수 있었다.

다음 단계에서는 데이터를 자동으로 적재하고 관리하는 흐름을 구성하기 위해
ETL 또는 Airflow 기반의 데이터 파이프라인 설계를 시작해볼 예정이다.