ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 데이터 웨어하우스 알아가기 #1. DW(Data Warehouse)란?
    데이터 2025. 1. 18. 23:32

    요즘 데이터 모델링 관련해서도 계속해서 찾아보던 중에, 오늘은 데이터웨어하우스가 무엇인지, 필요성과 DW와 관련한 몇 가지 개념을 간단하게 살펴보려고 합니다. 

     

    DW(Data Warehouse)란?

    Data Warehouse는 단어 그대로는 데이터 창고라는 의미를 가지는데, BI(Business Intelligence) 리포팅, 분석을 쉽게 할 수 있도록 지원하는 통합 데이터 관리 시스템입니다. 여러 원천(소스) 데이터를 연결하고 모아서 구축한 정보 시스템으로, 현재와 과거(historical) 데이터를 모아 조직의 분석 데이터 소스 역할을 합니다. 트랜잭션 데이터 일체부터 로그 및 기타 비정형 데이터까지 다양한 소스 데이터를 포함합니다. 

     

     

    DW의 특징(이점)

    각 표현에 차이는 있을 수 있겠으나 데이터 웨어하우스의 가장 큰 특징으로 [주제 지향적 / 통합 데이터 / 시계열성 / 비휘발성] 4가지 키워드로 이야기할 수 있을 것 같습니다.(아마 구글링 검색으로 가장 자주 보이는 키워드이기도 할 겁니다..!)

    • 주제 지향적(Subject-oriented): 특정 주제 혹은 기능 영역 관점에서 분석할 수 있다. 
    • 통합된(Integrated) 데이터: 여러 다른 원천 데이터를 전사적 기준으로 데이터 표준화를 거쳐 통합된 데이터를 제공
    • 시계열성(Time-Variant): 과거 데이터를 포함하여 추세 및 시간 경과에 따른 데이터 변화 과정을 확인할 수 있음.
    • 비휘발성(Non-Volatile): 일반적으로 기존 데이터 갱신 작업을 하지 않음. 소스 데이터의 변경 요건을 반영할 때는 갱신이 아닌 snapshot 형태로 저장하여 활용함. 

     

    데이터 웨어하우스가 왜 필요할까?

    간단하게 상품 판매 서비스 가정하에, 상품 카테고리별-구매 연령대별로 구매 금액을 보고 싶다는 조건을 걸어보겠습니다. 일반적인 운영 DB에서 해당 작업을 수행하고자 한다면, 설계에 따라 차이는 있겠지만 가장 심플하게 보아도 상품, 주문, 고객 데이터를 가져와서 집계해야 할 것입니다. 거기에 더해, 보고자 하는 데이터가 1일 범위의 데이터가 아니라 과거 추세까지 함께 보고자 한다면 조회 범위에 따라 읽어야 하는 데이터의 양도 더 늘어나게 됩니다. 이 경우 조회하는 범위에 따라서 운영 DB 자체에 부하를 발생시킬 위험도 있으며, 과거 데이터 갱신을 하거나 n년 이전의 데이터는 이관 삭제하는 경우라면 데이터를 조회할때마다 다른 집계값+과거 데이터 유실 문제가 있을 수 있습니다. 

     

    데이터 웨어하우스를 잘 구축한 경우 위에서 언급한 문제들에서 자유로울 수 있습니다. 리포팅 대상에 따라 다르겠지만 최소 1개의 테이블 내에서도 조건을 조정하여 원하는 데이터를 얻을 수 있습니다. 위에서 언급한 DW의 특징과 이어지는 내용이 되는데, 일관되고 통합된 데이터를 과거분까지 모아둠으로써 보장된 데이터를 비교적 적은 리소스로 얻어볼 수 있습니다. 또한, 운영 DB와는 별도로 구축한다는 점에서 운영 서비스 부하 이슈에서도 어느 정도의 자유를 얻을 수 있다는 면에서도 데이터 웨어하우스의 필요성을 생각해볼 수 있습니다. 

     


    데이터 웨어하우스 관련 이모저모

    팩트 테이블(Fact Table)

    비즈니스 프로세스에서 발생하는 이벤트의 측정값(measure) 모음으로, 일종의 중심 테이블입니다. 예시로 일별 매출, 재고 현황 등의 집합이 있습니다. 

     

    디멘젼 테이블(Dimension Table)

    비즈니스를 구성하는 구성 요소별로 나누는 차원 모음입니다. 상품, 주문, 회원 혹은 코드성 테이블(성별, 연령대 코드, 분류 코드 등)을 포함하여 날짜 집합 등도 함께 예시로 들 수 있습니다. 

     

    팩트 테이블과 디멘젼 테이블 관련해서는 추후 DW 설계 방식 중 하나인 스타 스키마(Star-Schema)와 눈송이 스키마(Snowflake-Schema)에 대해 다루면서 한 번 더 언급할 예정입니다. 

     

    Comment

    쓰고 싶은 내용은 머릿속에 돌아다니는데 정리하고 표현하는 게 잘 되지 않아서 뭔가 중간에 끊긴 글 같은게 나와버렸습니다🥲 시리즈로 더 나아질 수 있기를 바라며..ㅎㅎ

Designed by Tistory.