데이터웨어하우스 10

센티피드 테이블과 데이터 웨어하우스에서의 활용

개요데이터 웨어하우스를 설계할 때 가장 중요한 원칙 중 하나는 단순하고 효율적인 데이터 모델링입니다. 하지만 종종 설계 과정에서 너무 많은 차원(Dimension)을 포함하는 비효율적인 팩트 테이블, 즉 센티피드 팩트 테이블(Centipede Fact Table)이 생성되기도 합니다.센티피드 팩트 테이블은 불필요하게 많은 차원을 포함하는 팩트 테이블을 의미하며, 이는 데이터 모델을 복잡하게 만들고 쿼리 성능을 저하시킬 수 있습니다. 하지만 컬럼 기반 데이터베이스와 같은 특정 환경에서는 예외적으로 허용될 수도 있습니다.이번 글에서는 센티피드 팩트 테이블이 무엇인지, 데이터 웨어하우스에서 피해야 하는 이유, 그리고 컬럼형 데이터베이스에서 예외적으로 사용할 수 있는 경우를 살펴보겠습니다.본론1. 센티피드 팩트..

DW 2025.02.17

SQLP 시험 후기

어제는 SQLP 시험을 쳤다. 데이터 관련 개발자인만큼 데이터 관련해서 남들보다 좀 더 아는 게 좋지 않을까하는 생각에서 시작한 도전이었다. 조금 더 나은 개발자가 되어서 잘 자리잡아야 한다는 조바심도 나를 새로운 공부로 이끌었다. 5개월 전쯤의 일이었다. 시험을 준비하는 건 쉽지 않은 일이었다. 업무는 업무대로 존재했고 이직 준비, 사회활동 등의 이유로 공부할 시간을 내기 어려운 때도 있었다. 그리고 어제 시험을 쳤다. 지금 느끼기로는 합격하기는 어렵지 않을까하는 생각이 든다. 개념이 내 머릿속에 잘 정리되어 있다기보다는 큰 덩어리로 자리잡고 있을 뿐이었기에 시험을 칠 준비는 되어 있지 않은 듯했다. 그러나 시험을 준비하는 과정은 내게 많은 것을 느끼게 했다.   내가 모른다는 사실을 안다는 건 어려운..

자격증 2024.08.25

DW/ETL - 팩트 테이블 가산성 및 NULL 값처리

개요팩트 테이블은 실적, 판매 수량과 같은 수치를 차원 ID 들과 함께 매핑하여 저장하는 테이블이다. 이때 저장되는 데이터를 몇 가지 특징으로 나눌 수 있다. 이 특징에 따라서 해당 수치값을 어떻게 저장해야 하는지, 어떻게 계산하여 새로운 마트로 구성할 수 있는지가 다를 수 있다. 이글에서는 이 부부에 대해서 다루어 보고자 한다. 가산성수치값은 대부분 합산하여 활용하는 것이 직관적이다. 하지만 모든 수치값이 합산하여 계산할 수 있는 것은 아니다. 합산해서는 안 되는 값을 합산하여 계산하여 활용하거나 저장할 경우 의미없는 데이터를 조회하게 될 뿐이다. 이를 방지하기 위해서라도 저장되는 데이터의 가산성에 대해서 제대로 이해하고 있을 필요가 있다. 데이터의 가산성은 완전 가산성, 반 가산성, 비가산성으로 나눌..

BI 2024.07.18

DW/ETL - Operational Data Storage(ODS)

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

BI 2024.07.04

DW/ETL - OLAP 큐브

개요OLAP 큐브는 데이터 분석을 위한 강력한 도구로 다차원 데이터 모델을 통해 데이터를 효율적으로 분석할 수 있도록 한다. 이 글에서는 큐브의 개념과 데이터 웨어하우스에서의 역할을 다루어보도록 하겠다.OLAP의 정의와 목적OLAP은 다차원 데이터 분석을 지원하는 기술로 대량의 데이터를 빠르게 쿼리하고 분석하는 데 중점을 둔다. 주요 목적은 사용자가 복잡한 쿼리를 수행하고 다양한 각도에서 데이터를 분석하여 의사 결정을 지원하는 것이다. OLAP 큐브로 접근하는 데이터는 물론 SQL 쿼리로 접근도 가능하지만 개발자가 아닌 실무자의 입장에서 SQL은 접근성이 낮고 SQL 개발자의 입장에서도 동적인 데이터 접근을 구현하기에는 한계가 있다. 이를 보완할 수 있는 것이 OLAP 큐브이다.다차원 데이터 모델OLAP..

BI 2024.07.03

DW/ETL - 관계형 데이터 베이스, 인메모리 데이터베이스

개요이번 글에서는 데이터 웨어하우스에서 사용되는 데이터베이스에 대해서 알아본다. 관계형 데이터베이스, 인메모리 데이터베이스에 대하여 대략적인 개념을 정리해보고 이를 통하여 데이터웨어하우스 측면에서 데이터 분석이 어떻게 이루어지고 발전했는지 확인한다. 관계형 데이터베이스관계형 데이터베이스는 데이터를 테이블 형태로 저장한다. 테이블은 행과 열로 구성되어 있으며 각 열은 특정 속성을, 각 행은 개별 데이터를 나타낸다. SQL이라는 언어를 통하여 데이터를 쿼리할 수 있다.테이블은 각 행을 고유하게 식별하기 위해 기본 키를 사용한다. 기본 키는 중복되거나 비어 있을 수 없으며 이를 통해 각 행을 유일하게 식별할 수 있다. 또한, 외래 키를 통해 다른 테이블의 기본키를 참조할 수 있다. 이를 통해 여러 테이블 간의..

BI 2024.07.02

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

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

BI 2024.06.26

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

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

BI 2024.06.26

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

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

BI 2024.06.22

DW/ETL - 데이터 웨어하우스의 필요성

개요BI/OLAP 개발자로서 데이터웨어하우스와 ETL, 차워 모델링에 대한 개념을 정리할 필요를 느꼈다. 이에 대한 관련 지식을 정리하면서 하나씩 써내려갈 생각이다. 가장 먼저 데이터 웨어하우스가 왜 필요한지를 짚어보는 것을 첫번째 주제로 삼았다. 데이터 웨어하우스는 기업의 운영과 분석에 필수적인 요소이다. 데이터의 효율적인 사용을 통해서 기업은 조직 운영을 원활히 하고 미래를 위한 전략적인 결정을 내릴 수 있다. 데이터의 두 가지 사용 목적을 OLTP, OLAP으로 나누어 살펴보고 이를 통해 데이터 웨어하우스의 필요성을 정리할 수 있도록 하겠다.OLTP( Online Transactional Processing )운영 데이터는 기업의 일상적인 활동을 지원하는데 사용된다. 여기에는 주문 접수 및 이행, ..

BI 2024.06.21