매일 업데이트
2023-03-28 06:43 11 min

Data Vault가 데이터 웨어하우징의 미래인 이유[+5 Learning Resources]

데이터 양이 기하급수적으로 증가함에 따라 기존 데이터 웨어하우징 방식은 유지 관리 비용 증가와 복잡성 문제에 직면하고 있습니다. 이러한 난제를 극복하기 위한 새로운 대안으로 '데이터 볼트'가 주목받고 있습니다. 데이터 볼트는 대규모 데이터를 효율적으로 관리할 수 있는 확장 가능하고 유연하며 비용 효율적인 데이터 웨어하우징 접근 방식입니다.

이 글에서는 데이터 볼트가 데이터 웨어하우징의 미래로 떠오르는 이유와 많은 기업들이 이 방식을 채택하는 배경을 살펴봅니다. 또한, 데이터 볼트에 대해 더 깊이 이해하고자 하는 독자를 위해 유용한 학습 자료도 제공할 예정입니다.

데이터 볼트란 무엇인가?

데이터 볼트는 애자일 데이터 웨어하우스 환경에 최적화된 데이터 모델링 기법입니다. 뛰어난 확장성과 유연성을 제공하며, 데이터의 완전한 시간별 기록을 보장하고, 데이터 로딩 프로세스를 강력하게 병렬화할 수 있다는 장점을 지닙니다. 이 모델링 기법은 1990년대 댄 린스테드(Dan Linstedt)에 의해 개발되었습니다.

2000년 처음 소개된 후, 2002년 연재 기사를 통해 더욱 널리 알려졌습니다. 2007년에는 데이터 웨어하우스 분야의 거장 빌 인몬(Bill Inmon)이 데이터 볼트 2.0 아키텍처를 "최적의 선택"이라고 평가하며 그 중요성을 강조했습니다.

애자일 데이터 웨어하우스를 추구하는 사람이라면 누구나 데이터 볼트 기법에 관심을 갖게 될 것입니다. 데이터 볼트의 가장 큰 장점은 기업의 요구사항 변화에 맞춰 유연하고 손쉽게 데이터 웨어하우스를 조정할 수 있다는 점입니다.

데이터 볼트 2.0은 전체 개발 프로세스와 아키텍처를 포괄하며, 구현, 아키텍처 및 모델의 세 가지 주요 구성 요소로 이루어져 있습니다. 이 접근 방식의 핵심은 개발 과정에서 비즈니스 인텔리전스의 모든 측면을 고려하여 데이터 웨어하우스의 효율성을 극대화한다는 데 있습니다.

데이터 볼트 모델은 기존 데이터 모델링 방식의 한계를 극복하기 위한 최신 솔루션을 제시합니다. 확장성, 유연성, 민첩성을 기반으로 현대적인 데이터 환경의 복잡성과 다양성을 수용할 수 있는 견고한 데이터 플랫폼 구축을 위한 토대를 마련합니다.

데이터 볼트의 허브 앤 스포크(hub-and-spoke) 아키텍처와 엔터티 및 속성의 분리는 여러 시스템과 도메인 간의 데이터 통합 및 조화를 가능하게 하여 점진적이고 민첩한 개발을 촉진합니다.

데이터 플랫폼을 구축할 때 데이터 볼트의 중요한 역할 중 하나는 모든 데이터에 대한 단일 정보 소스를 구축하는 것입니다. 통합된 데이터 보기 및 위성 테이블을 통해 기록 데이터 변경 사항을 추적하고 캡처함으로써 규정 준수, 감사, 규제 요구 사항 충족, 그리고 포괄적인 분석 및 보고가 가능합니다.

델타 로딩을 통한 데이터 볼트의 거의 실시간 데이터 통합 기능은 빅 데이터 및 IoT 애플리케이션과 같이 빠르게 변화하는 환경에서 대량의 데이터를 효율적으로 처리할 수 있도록 지원합니다.

데이터 볼트와 기존 데이터 웨어하우스 모델 비교

제3정규형(3NF)은 가장 널리 알려진 기존 데이터 웨어하우스 모델 중 하나이며, 대규모 시스템 구현에 자주 사용됩니다. 이는 데이터 웨어하우스 개념의 선구자 중 한 명인 빌 인몬의 아이디어와 일맥상통합니다.

인몬 아키텍처는 관계형 데이터베이스 모델을 기반으로 합니다. 데이터 소스를 더 작은 테이블로 분해하고, 기본 키와 외래 키를 사용하여 상호 연결함으로써 데이터 중복성을 제거합니다. 참조 무결성 규칙을 적용하여 데이터의 일관성과 정확성을 보장합니다.

일반적인 형식의 목표는 핵심 데이터 웨어하우스를 위한 포괄적이고 전사적인 데이터 모델을 구축하는 것이었습니다. 그러나 고도로 결합된 데이터 마트, 거의 실시간 로딩의 어려움, 복잡한 요청 처리, 하향식 설계 및 구현으로 인해 확장성 및 유연성 문제가 발생했습니다.

OLAP(온라인 분석 처리) 및 데이터 마트에 사용되는 킴볼 모델은 팩트 테이블에 집계 데이터를 포함하고, 차원 테이블이 저장된 데이터를 스타 스키마 또는 눈송이 스키마 디자인으로 설명하는 또 다른 대표적인 데이터 웨어하우스 모델입니다. 이 아키텍처에서 데이터는 쿼리 및 분석을 단순화하기 위해 비정규화된 팩트 및 차원 테이블로 구성됩니다.

킴볼 모델은 쿼리 및 보고에 최적화된 차원 모델을 기반으로 하므로 비즈니스 인텔리전스 애플리케이션에 이상적입니다. 그러나 주제 중심 정보의 고립, 데이터 중복성, 호환되지 않는 쿼리 구조, 확장성 문제, 팩트 테이블의 일관성 없는 세분성, 동기화 문제, 상향식 구현을 통한 하향식 설계 필요성과 같은 문제점이 있었습니다.

반면, 데이터 볼트 아키텍처는 3NF 및 킴볼 아키텍처의 장점을 결합한 하이브리드 접근 방식입니다. 엔터티 간의 관계를 다르게 표현하고, 테이블 필드와 타임스탬프를 다르게 구성하는 관계 원칙, 데이터 정규화 및 중복 수학을 기반으로 하는 모델입니다.

이 아키텍처에서 모든 데이터는 원시 데이터 저장소 또는 데이터 레이크에 저장되는 반면, 일반적으로 사용되는 데이터는 보고에 사용할 수 있는 기록 및 컨텍스트 데이터를 포함하는 비즈니스 저장소에 정규화된 형식으로 저장됩니다.

데이터 볼트는 기존 모델의 문제점을 해결하여 보다 효율적이고 확장 가능하며 유연한 데이터 웨어하우스를 구축할 수 있도록 돕습니다. 거의 실시간에 가까운 데이터 로딩, 향상된 데이터 무결성, 기존 구조에 영향을 주지 않고 손쉬운 확장이 가능하다는 장점을 지닙니다. 기존 테이블을 마이그레이션하지 않고도 모델을 확장할 수 있습니다.

모델링 접근법 데이터 구조 설계 접근법
3NF 모델링 3NF의 테이블 Bottom-up
킴볼 모델링 스타 스키마 또는 눈송이 스키마 Top-down
데이터 볼트 허브 앤 스포크 Bottom-up

데이터 볼트의 아키텍처

데이터 볼트는 허브 앤 스포크 아키텍처를 기반으로 하며, 일반적으로 다음과 같은 세 가지 계층으로 구성됩니다.

준비 계층: CRM 또는 ERP와 같은 소스 시스템에서 원시 데이터를 수집합니다.

데이터 웨어하우스 계층: 데이터 볼트 모델로 모델링할 때, 이 계층에는 다음 요소들이 포함됩니다.

  • Raw Data Vault: 원시 데이터를 저장합니다.
  • Business Data Vault: 비즈니스 규칙에 따라 조화되고 변환된 데이터를 저장합니다(선택 사항).
  • Metrics Vault: 런타임 정보를 저장합니다(선택 사항).
  • Operational Vault: 운영 시스템에서 데이터 웨어하우스로 직접 흐르는 데이터를 저장합니다(선택 사항).

데이터 마트 계층: 이 계층은 데이터를 스타 스키마 또는 기타 모델링 기법을 사용하여 모델링합니다. 분석 및 보고를 위한 정보를 제공합니다.

이미지 출처: Lamia Yessad

데이터 볼트는 재설계가 필요 없습니다. 새로운 기능은 기존 구성 요소를 손실하지 않고 데이터 볼트의 개념과 방법을 사용하여 병렬로 구축할 수 있습니다. 프레임워크는 데이터 웨어하우스와 개발자 사이에 계층을 생성하여 구현의 복잡성을 줄여 작업을 더욱 쉽게 만듭니다.

데이터 볼트의 구성 요소

데이터 볼트는 모델링 과정에서 객체에 속하는 모든 정보를 기존의 제3정규형 모델링과 달리 세 가지 범주로 나누고, 이 정보를 엄격하게 분리하여 저장합니다. 이러한 기능 영역은 허브, 링크, 위성이라는 세 가지 요소로 표현할 수 있습니다.

#1. 허브

허브는 고객, 판매자, 판매 또는 제품과 같은 핵심 비즈니스 개념의 중심 역할을 합니다. 허브 테이블은 해당 비즈니스 키의 새 인스턴스가 데이터 웨어하우스에 처음 도입될 때 비즈니스 키(예: 상점 이름 또는 위치)를 중심으로 형성됩니다.

허브에는 설명 정보와 외래 키가 포함되지 않습니다. 이는 웨어하우스에서 생성된 일련의 ID 또는 해시 키, 로드 날짜/시간 스탬프, 그리고 레코드 소스와 함께 비즈니스 키로만 구성됩니다.

#2. 링크

링크는 비즈니스 키 간의 관계를 설정합니다. 링크의 각 항목은 여러 허브 간의 n:m 관계를 모델링합니다. 이를 통해 데이터 볼트는 관계의 진정성 변화와 같은 소스 시스템의 비즈니스 논리 변화에 유연하게 대응할 수 있습니다. 허브와 마찬가지로 링크에도 설명 정보가 포함되어 있지 않습니다. 참조하는 허브의 시퀀스 ID, 웨어하우스 생성 시퀀스 ID, 로드 날짜/시간 스탬프 및 레코드 소스로 구성됩니다.

#3. 위성

위성은 허브에 저장된 비즈니스 키 또는 링크에 저장된 관계에 대한 설명 정보(컨텍스트)를 포함합니다. 위성은 "삽입만" 작동하며, 이는 전체 데이터 기록이 위성에 저장됨을 의미합니다. 여러 위성이 단일 비즈니스 키(또는 관계)를 설명할 수 있지만, 위성은 오직 하나의 키(허브 또는 링크)만 설명할 수 있습니다.

이미지 출처: Carbidfischer

데이터 볼트 모델 구축 방법

데이터 볼트 모델 구축은 여러 단계로 이루어지며, 각 단계는 모델이 확장 가능하고 유연하며 비즈니스 요구 사항을 충족하는 데 매우 중요합니다.

#1. 엔터티 및 속성 식별

비즈니스 엔터티와 해당 속성을 식별합니다. 이를 위해 비즈니스 이해 관계자와 긴밀히 협력하여 요구 사항과 캡처해야 하는 데이터를 이해해야 합니다. 엔터티와 속성이 식별되면 허브, 링크, 위성으로 구분합니다.

#2. 엔터티 관계 정의 및 링크 생성

엔터티와 특성을 식별한 후에는 엔터티 간의 관계를 정의하고 이러한 관계를 나타내는 링크를 생성합니다. 각 링크에는 엔터티 간의 관계를 식별하는 비즈니스 키가 할당됩니다. 그런 다음 엔터티의 특성과 관계를 캡처하기 위해 위성을 추가합니다.

#3. 규칙 및 표준 설정

링크를 생성한 후에는 모델이 유연하고 시간이 지남에 따라 변화를 처리할 수 있도록 일련의 규칙과 데이터 저장소 모델링 표준을 설정해야 합니다. 이러한 규칙과 표준은 관련성을 유지하고 비즈니스 요구 사항과 일치하도록 정기적으로 검토하고 업데이트해야 합니다.

#4. 모델 채우기

모델이 생성되면 증분 로드 방식을 사용하여 데이터로 채워야 합니다. 여기에는 델타 로드를 사용하여 허브, 링크, 위성에 데이터를 로드하는 작업이 포함됩니다. 데이터에 대한 변경 사항만 로드되도록 델타가 로드되므로 데이터 통합에 필요한 시간과 리소스를 줄일 수 있습니다.

#5. 모델 테스트 및 검증

마지막으로 모델이 비즈니스 요구 사항을 충족하고 향후 변경 사항을 처리할 수 있을 만큼 충분히 확장 가능하고 유연한지 확인하기 위해 모델을 테스트하고 검증해야 합니다. 정기적인 유지 관리와 업데이트를 통해 모델이 비즈니스 요구 사항에 맞춰 조정되고 데이터의 통합된 뷰를 계속 제공하도록 해야 합니다.

데이터 볼트 학습 리소스

데이터 볼트 전문가가 되면 오늘날 데이터 중심 산업에서 수요가 높은 귀중한 기술과 지식을 습득할 수 있습니다. 다음은 데이터 볼트의 복잡성을 이해하는 데 도움이 될 수 있는 과정 및 서적을 포함한 포괄적인 리소스 목록입니다.

#1. Data Vault 2.0을 사용한 데이터 웨어하우스 모델링

이 Udemy 강좌는 데이터 볼트 2.0 모델링 접근 방식, 애자일 프로젝트 관리, 빅데이터 통합에 대한 포괄적인 소개를 제공합니다. 아키텍처 및 계층, 비즈니스 및 정보 저장소, 고급 모델링 기법 등 데이터 볼트 2.0의 기본 원리를 다룹니다.

강의를 통해 데이터 볼트 모델을 처음부터 설계하고, 3NF 및 차원 모델과 같은 기존 모델을 데이터 볼트로 변환하고, 데이터 볼트의 차원 모델링 원칙을 이해하는 방법을 배울 수 있습니다. 이 강좌를 수강하기 위해서는 데이터베이스 및 SQL 기본 지식이 필요합니다.

5점 만점에 4.4점의 높은 평점과 1,700건 이상의 리뷰를 받은 베스트셀러 강좌로, 데이터 볼트 2.0 및 빅데이터 통합 분야에서 강력한 기반을 다지려는 사람들에게 적합합니다.

#2. 사용 사례로 설명하는 데이터 볼트 모델링

이 Udemy 강좌는 실제 비즈니스 사례를 사용하여 데이터 볼트 모델을 구축하는 방법을 안내합니다. 데이터 볼트 모델링 초보자 가이드로서, 데이터 볼트 모델을 사용하기에 적합한 시나리오, 기존 OLAP 모델링의 한계, 데이터 볼트 모델 구성에 대한 체계적인 접근법과 같은 주요 개념을 다룹니다. 이 강좌는 데이터베이스 지식이 거의 없는 사람들도 쉽게 접근할 수 있습니다.

#3. Data Vault Guru: 실용적인 가이드

패트릭 쿠바(Patrick Cuba)의 'Data Vault Guru'는 소프트웨어 제공에 사용되는 것과 유사한 자동화 원칙을 활용하여 엔터프라이즈 데이터 웨어하우스를 모델링할 수 있는 독특한 기회를 제공하는 데이터 저장소 방법론에 대한 포괄적인 가이드입니다.

이 책은 현대 아키텍처에 대한 개요를 제공한 후, 기업의 변화에 적응하는 유연한 데이터 모델인 데이터 저장소를 제공하는 방법에 대한 심층적인 가이드를 제공합니다.

또한 이 책은 자동화된 타임라인 수정, 감사 추적, 메타데이터 제어, 애자일 제공 도구와의 통합 기능을 제공하여 데이터 저장소 방법론을 확장합니다.

#4. Data Vault 2.0을 사용하여 확장 가능한 데이터 웨어하우스 구축

이 책은 독자에게 데이터 볼트 2.0 방법론을 사용하여 처음부터 끝까지 확장 가능한 데이터 웨어하우스를 구축하는 방법에 대한 포괄적인 가이드를 제공합니다.

이 책은 일반적인 데이터 웨어하우징 오류를 피하도록 설계된 데이터 볼트 모델링 기법을 포함하여 확장 가능한 데이터 웨어하우스 구축의 모든 필수 측면을 다룹니다.

독자가 개념을 명확하게 이해하는 데 도움이 되는 다양한 예시가 제공됩니다. 실용적인 통찰력과 실제 사례를 통해 데이터 웨어하우징에 관심 있는 모든 사람에게 필수적인 참고 자료가 될 것입니다.

#5. 냉장고 속의 코끼리: 데이터 볼트 성공을 위한 안내 단계

존 자일스(John Giles)의 '냉장고 속의 코끼리(The Elephant in the Fridge)'는 독자가 비즈니스에서 시작하여 비즈니스로 끝나는 방식으로 데이터 볼트의 성공을 달성하는 데 도움이 되는 실용적인 가이드입니다.

이 책은 엔터프라이즈 온톨로지 및 비즈니스 개념 모델링의 중요성에 초점을 맞추고 이러한 개념을 적용하여 견고한 데이터 모델을 만드는 방법에 대한 단계별 지침을 제공합니다.

실용적인 조언과 샘플 패턴을 통해 저자는 복잡한 주제에 대해 명확하고 이해하기 쉬운 설명을 제공하므로 데이터 볼트를 처음 접하는 사람에게 유용한 지침서가 될 것입니다.

마지막 말

데이터 볼트는 데이터 웨어하우징의 미래를 대표하며, 기업에 민첩성, 확장성 및 효율성 측면에서 상당한 이점을 제공합니다. 특히 대량의 데이터를 빠르게 로드해야 하는 기업과 민첩한 방식으로 비즈니스 인텔리전스 애플리케이션을 개발하려는 기업에 적합합니다.

또한 기존의 사일로 아키텍처를 가진 기업은 데이터 볼트를 사용하여 업스트림 핵심 데이터 웨어하우스를 구현함으로써 큰 이점을 얻을 수 있습니다.

데이터 계보에 대해 알아보는 데 관심이 있을 수도 있습니다.

저자
Korea

기술 트렌드와 실용적인 팁을 전하는 लेखक입니다.