ETL 9

DW/ETL - 기간 누계(YTD, MTD) 데이터

개요DW 비즈니스 환경에서는 기간 단위로 누계 데이터를 요구하는 케이스가 무척 많다. 대표적으로 연 누계(Year-To-Date, YTD)와 월 누계(Month-To-Date, MTD)이다. 연 누계란 특정 년도의 시작일부터 기준일까지의 누적 데이터를 의미하며 MTD는 특정 월 시작일부터 기준일까지의 누적데이터를 의미한다. 이 두가지 누계 데이터가 많이 사용되는 이유는 비즈니스 환경에서 데이터를 유의미하게 나누는 기준이 년, 월 단위이기 때문이다. 년, 월 단위 누계 데이터를 조회할 경우 성장세, 목표달성률, 트랜드 등을 한 눈에 보기 편하고 유의미한 전략적 의사결정을 내리기 쉽다. 따라서 기간 누계 데이터를 다루는 방법에 대해서 알 필요가 있다.MTD와 YTD 물리 적재의 문제점우선 DW에서는 MTD,..

BI 2024.07.27

DW/ETL - 스타 스키마와 스노우플레이크 스키마

개요스타스키마와 스노우 플레이크 스키마는 데이터웨어하우스와 데이터 마트에서 많이 사용되는 스키마이다. 차원과 팩트 테이블로 나누어지고 중앙에 팩트 테이블이 존재하는 스키마라는 점에서 둘은 동일하나 세부적인 면에서 차이가 있다. 이 글에서는 이 두 스키마에 대해서 정리해보도록 하겠다. 스타스키마구성 요소팩트 테이블: 주요 비즈니스 이벤트나 트랜잭션 데이터를 저장한다. 예를 들어, 매출, 수익, 판매량 등의 측정 값이 포함된다. 팩트 테이블은 외래키를 통해 차원 테이블과 연결된다.차원 테이블: 분석에 필요한 다양한 속성을 저장한다. 예를 들어 시간, 제품, 고객, 지역 등이 차원 테이블에 해당한다. 차원 테이블은 각 속성을 설명하는 컬럼들을 가지고 있으며 주로 비정규화된 형태로 저장된다.비정규화비정규화는 데..

BI 2024.07.12

DW/ETL - 차원 모델링

개요이 글에서는 차원 모델링이 무엇인지, 차원 모델링은 왜 필요한지를 정리한다. 차원 모델링은 데이터 웨어하우스를 학습하면서 주로 접하게 되는 개념이다. 데이터를 효율적으로 저장하고 분석하기 쉽게 구조화하는 기법으로 데이터 웨어하우스 설계의 핵심적인 부분을 차지한다. 이에 대해서 자세히 알아보도록 하겠다. 차원 모델링차원 모델링은 데이터를 특정한 방식으로 조직화하는 방법으로 주로 데이터웨어하우스에서 사용된다. 데이터 웨어하우스는 보고서 작성과 OLAP 용도로 데이터를 사용하기 때문에 사용성과 성능이 중요하다. 차원 모델은 이러한 요구사항을 충족시키기 위한 최적의 방법이다.차원 모델링의 주요 구성 요소는 다음과 같다.펙트 테이블비즈니스 활동이나 사건을 나타내는 측정값(예: 판매량, 수익 등)을 저장한다.많..

BI 2024.07.06

DW/ETL - Operational Data Storage(ODS)

개요이 글은 Operational Data Storage(이하 ODS)에 대해서 알아보고 데이터 웨어하우스와의 차이는 무엇인지 정리해보는 것을 목적으로 한다. 데이터를 통합하여 다루는 시스템을 하나 더 배움으로써 데이터를 관리하고 통합하는 측면의 지식의 폭을 더욱 넓힐 수 있다.ODS란?ODS는 여러 운영 시스템의 데이터를 하나의 데이터베이스에 통합하는 시스템이다. 이는 데이터 웨어하우스와 유사하다고 볼 수 있지만 ODS는 실시간 운영적 의사 결정을 지원한다는 점에서 차이가 난다..ODS와 데이터 웨어하우스의 차이점사용 목적: 데이터 웨어하우스는 주로 분석 및 전략적 의사 결정을 지원하는 반면 ODS는 실시간 또는 거의 실시간 운영적 의사 결정을 지원한다.데이터 갱신 빈도: 데이터 웨어하우스는 하루에 한..

BI 2024.07.04

DW/ETL - 스테이징 영역과 데이터 마트

개요데이터 웨어하우스의 두 가지 구성 요소 스테이징 영역과 데이터 마트에 대해서 알아본다. 둘은 데이터를 분석 가능한 형태로 변환하는데 중요한 역할을 한다. 이 두 가지 요소의 필요성과 구성에 대해서 자세히 살펴보도록 하겠다.스테이징 영역스테이징 영역은 ETL 프로세스에서 데이터를 추출한 후 임시로 저장하는 장소이다. 스테이징 영역의 주요 목적과 기능은 다음과 같다.데이터 추출:원천 시스템에서 데이터를 빠르게 읽어와 스테이징 영역에 저장한다. 소스 시스템의 성능 저하를 방지하기 위해 가능한 한 빨리 데이터를 추출하여 저장하는 것이 중요하다.데이터 저장:스테이징 영역에서는 다양한 형식의 데이터를 테이블 형태로 저장한다. 이는 CSV 파일, JSON 파일 등 다양한 형식을 관계형 데이터베이스 테이블로 변환하..

BI 2024.06.26

DW/ETL - 데이터 웨어하우스 레이어

개요데이터 웨어하우스는 현대 데이터 관리의 핵심 구성 요소로 방대한 양의 데이터를 효율적으로 저장, 검색, 분석할 수 있게 한다. 이번 글에서는 데이터 웨어하우스의 아키텍처를 구성하는 여러 레이어에 대해 깊이 있게 정리해보도록 하겠다. 각 레이어는 데이터의 무결성, 변환, 접근성을 보장하는 중요한 역할을 한다.데이터 웨어하우스의 레이어데이터웨어하우스는 여러 레이어로 구성되어 있다. 각 레이어는 특정한 역할을 담당하며 데이터를 체계적으로 관리하고 가공한다.스테이징 레이어 (Staging Layer)스테이징 레이어는 다양한 형식과 파일의 소스 데이터를 첫 번째 레이어로 추출하는 단계이다. 이 단계에는 데이터를 가능한 한 원본 그대로 유지하면서 테이블 형태로 저장한다. 예를 들어 여러 부서의 직원 테이블이 C..

BI 2024.06.26

DW/ETL - 데이터 레이크와 데이터 웨어하우스

개요데이터 웨어하우스와 데이터 레이크는 모두 데이터를 저장하는 중앙 집중화된 장소를 제공하지만, 이 두가지는 그 목적과 사용 방법에서 다르다. 이번 글에서는 데이터 레이크와 데이터 웨어하우스의 차이점을 이해하고, 각각의 기술이 언제 사용되는지 다루어보겠다.데이터 웨어하우스데이터 웨어하우스는 주로 분석과 비즈니스 인텔리전스를 위해 사용된다. 주요 특징은 구조화된 데이터, 고성능 쿼리, 사용자 친화적, 특정 목적 지향으로 다룰 수 있다. 이는 앞선 글에서도 다루었기에 자세히 다루지는 않겠다.데이터 레이크데이터 레이크는 다양한 형식의 원시 데이터를 저장하는데 사용된다. 주요 특징은 다음과 같다.비구조화된 데이터: 구조화되지 않은 원시 데이터, 예를 들어 JSON, XML 파일, 이미지, 비디오 등을 저장한다...

BI 2024.06.24

DW/ETL - 데이터웨어하우스의 이해

개요데이터웨어하우스는 분석 목적을 위해 최적화된 데이터베이스이다. 이번 글에서는 데이터웨어하우스의 정의와 역할, 그리고 데이터 웨어하우스를 구축하기 위한 핵심과정인 ETL 프로세스에 대해 자세히 다루어보겠다.데이터 웨어하우스의 정의와 필요성데이터 웨어하우스는 사용자가 데이터를 쉽게 이해하고 분석할  수 있도록 설계된 데이터베이스이다. 주요 특징은 다음과 같다.사용자 친화적: 기술적으로 복잡하지 않고 데이터 분석가가 쉽게 데이터를 검색하고 처리할 수 있도록 최적화 되어 있다.빠른 쿼리 성능: 대량의 데이터를 빠르게 처리할 수 있어야 한다.중앙 집중화 다양한 출처에서 데이터를 모아 일관된 구조로 저장한다.운영 데이터 시스템과의 차이점운영 데이터 시스템(OLTP)는 주로 판매 데이터, HR 시스템 CRM 시스..

BI 2024.06.22

다시 블로그 연재 시작

문예창작학과 비전공자로서 개발자의 삶을 시작한 이후 2년이 넘는 시간이 지났다. IT 학원을 다니고 정보처리기사를 따고 취업을 성공할 때까지만 해도 나는 블로그를 계속 연재하는 개발자가 되고 싶다고 생각했다. github에 서브프로젝트를 계속 올리고 꾸준히 새로운 기술을 탐구하는 개발자가 되리라고 생각했다. 하지만 나는 그런 개발자가 아닌 채로 2년을 보냈다. 그렇게 보내게 된 데에 여러가지 변명이 떠오르긴 한다. '몇주 동안 지속적인 야근이 있는 프로젝트를 수행하면서 연재를 할 수는 없었다.' '보안이 중요시 되는 프로젝트를 돌아다니다보니 일하면서 글을 연재하기에 상황이 좋지 않았다.' '회사 일에 적응하는데 매진하느라 힘들었다' 등등. 맞는 말이고 평범한 개발자라면 하게 되는 일이다. 하지만 평범한 ..

BI 2024.03.10