데이터 볼트 (Data Vault)
데이터 볼트란 무엇입니까?
데이터 볼트는 엔터프라이즈급 분석을 위한 데이터 웨어하우스를 구축하는 데 사용되는 데이터 모델링 설계 패턴입니다. 데이터 볼트는 허브, 링크, 위성, 이렇게 세 가지 유형의 엔터티가 있습니다.
허브는 핵심 비즈니스 개념을 대표하며, 링크는 허브 간의 관계를 대표하고, 위성은 허브와 허브 간 관계에 대한 정보를 저장합니다.
데이터 볼트는 레이크하우스 패러다임을 채택하고 있는 조직에게 매우 적합한 데이터 모델입니다.
데이터 볼트 모델링: 허브, 링크, 위성
- 허브 - 각 허브는 고객 ID/제품 이름/차량 식별 번호(VIN)와 같은 핵심 비즈니스 개념을 나타냅니다. 사용자는 비즈니스 키를 사용하여 허브에 대한 정보를 얻으며 비즈니스 키에는 비즈니스 개념 ID 및 시퀀스 ID, 로드 날짜 그리고 기타 메타데이터 정보가 조합되어 있을 수 있습니다.
- 링크 - 링크는 허브 엔터티 간의 관계를 나타냅니다.
- 위성 - 위성은 누락된 핵심 비즈니스 개념 설명 정보에 대한 추가 정보를 제공합니다. 위성은 허브와 허브 사이의 관계에 속하는 정보를 저장합니다.
추가로 기억해야 할 사항이 더 있습니다.
- 위성은 다른 위성과 직접적으로 연결될 수 없습니다.
- 허브 또는 링크는 하나 이상의 위성을 가질 수 있습니다.
데이터 볼트의 장점
- 민첩함
- 구조화되어 있지만 리팩터링을 위한 유연성을 제공
- 최대 PB 단위 규모까지 확장 가능
- ETL 코드 생성을 지원하는 패턴을 사용
- 익숙한 아키텍처: 데이터 레이어, ETL, 스타 스키마
데이터 볼트는 애자일 방법론과 기술을 기반이므로 급변하는 비즈니스 요구 사항에 맞게 조정할 수 있습니다. 데이터 볼트 방법론을 사용하면 얻을 수 있는 주된 이점 중 하나는 모델이 변경될 경우 ETL 작업에 리팩터링이 더 적게 필요하다는 것입니다.
레이크하우스 레이어별 모델링 기법
이러한 개념들을 염두에 두고 데이터 볼트가 가공되지 않은 데이터 상태에서 분석 준비가 완료된 정제 상태로 변경된 브론즈, 실버, 골드 데이터 레이어에 어떻게 적용되는지 살펴보겠습니다. 이 멀티홉(multi-hop) 아키텍처에서는 가공되지 않은 데이터가 최소한으로 변환된 상태에서 소스 시스템과 근접한 데이터 구조로 브론즈 레이어에 저장됩니다. 데이터 볼트 방법론은 실버 레이어에 적용할 수 있으며 실버 레이어에서는 데이터가 허브, 링크, 위성으로 변환됩니다.
골드 레이어에서는 여러 데이터 마트/데이터 웨어하우스가 차원 모델링/Kimball 방법론에 따라 구축될 수 있습니다. 앞서 논의한 대로, 골드 레이어는 보고용이기 때문에 조인의 개수가 적고 더욱 비정규화된 읽기 최 적화 데이터 모델을 사용합니다. 일반적으로 데이터 사이언티스트가 피처 엔지니어링을 위한 알고리즘을 공급하기 위해 비정규화를 원할 경우, 골드 레이어의 테이블은 완전히 비정규화될 수 있습니다.
데이터 볼트 모델이 실버 레이어에서 사용되면 허브가 키 관리(대체키/ 자연키)를 용이하게 해주어 데이터 마트 및 데이터 웨어하우스에 대한 ETL을 수행하는 데 필요한 변경 사항을 간소화하고 대폭 줄일 수 있습니다. 위성은 모든 속성을 갖고 있으므로 차원 로딩을 용이하게 하며, 링크는 모든 관계를 갖고 있으므로 팩트 테이블 로딩을 상당히 간편하게 만듭니다.