애자일 데이터 웨어하우스 디자인

 

: BEAM을 이용한 디멘션 모델링과 디자인 패턴 테크닉

 

저자 로렌스 코어, 짐 스테그니토

역자 김지한, 장효선

 

출간예정일 2014129()

정가 27,000

페이지 372

판형 190 x 245

 

ISBN 978-89-94774-57-2 (93000)

원서정보 Agile Data Warehouse Design

예약판매 [YES24]  [교보문고]  [인터파크도서]

 

 

책 소개

 

화이트보드에서 스타 스키마까지 협업적인 디멘션 모델링

 

애자일 데이터 웨어하우스 디자인은 데이터 웨어하우징 비즈니스 인텔리전스 요구사항을 식별하고, BI 관계자들과 함께 모델스토밍(모델링+브레인스토밍)을 통해 가장 빠른 방식으로 고성능 디멘션 모델로 변화시키는 단계별 가이드를 제공한다.

 

이 책은 데이터 웨어하우스 설계자와 BI 관계자, 그리고 전체 DW/BI팀 사이에서의 커뮤니케이션을 향상시키기 위해 디멘션 모델링에 대한 애자일 접근법인 BEAM을 설명한다. BEAM DW/BI 설계자와 개발자들이 키보드와 엔티티 관계에 기반한 도구와 모델에서 벗어나 동료들과 상호 작용하도록 도와주는 툴과 기술을 제공해준다.

 

그 결과, 프로젝트에 참여한 모든 사람들은 처음부터 복합적으로(dimensionally) 사고하게 될 것이다. 개발자는 효율적으로 디멘션 모델링 솔루션을 구현하는 방법을 이해하게 될 것이다. 또한 비즈니스 관계자는 그들이 만든 데이터 웨어하우스에 대하여 책임감을 가지게 되며, 비즈니스 질문에 대한 해답을 얻기 위해 이를 사용하는 것을 기대하게 될 것이다.

 

 

이 책에서 다루는 내용

 

- 비즈니스 이벤트 분석 & 모델링((BEAM)을 사용한 애자일 디멘션 모델링

- 더 빠르고 포괄적이자 생산적이며 훨씬 재미있는 데이터 모델링 방법인 모델스토밍

- 7W(누가, 무엇을, 언제, 어디서, 얼마나 많이, , 어떻게)를 사용한 디멘션 데이터 이력 구성

- 추상적이지 않은 견본을 이용한 모델링: 까마귀 발 대신 데이터 이력을 사용

- 지속적인 개발의 계획과 맞춰진 디멘션의 발견을 위한 데이터 웨어하우스의 스토리보딩

- 시각화 모델링: 복잡한 프로세스 평가를 간단히 모델링을 하기 위한 타임라인, 차트 및 그리드

   스케치

- 애자일 디자인 문서화: BEAM 디멘션 속기 표기법을 사용한 스타 스키마의 고도화

- 검증된 디멘션 디자인 패턴을 사용하여 어려운 DW/BI 성능과 가용성 문제 해결

 

 

누구를 위한 책인가?

 

이 책은 데이터 모델러, 비즈니스 분석가, 데이터 아키텍트, 비즈니스 인텔리전스와 데이터 웨어하우스에서 일하는 개발자를 위하여 만들어졌다. 애자일 DW/BI팀의 모든 구성원은(BI 요구사항과 데이터 웨어하우스 디자인에 대하여 직접적으로 책임을 지는 사람들뿐만 아니라) 디멘션 디자인 아이디어를 공유하고 동료들과 함께 데이터 과업을 예측하는 표준 엔티티 관계 다이어그램에 대하여 BEAM 표기법이 매우 강력하다는 것을 알게 될 것이다. 이 책을 가장 효율적으로 활용하기 위해서는 테이블, 칼럼, , , 조인과 같은 데이터 베이스 개념에 대한 기본적인 지식을 가지고 있어야 한다.

 

이러한 새로운 데이터 웨어하우징을 위해 이 책은 디멘션 모델링 테크닉에 대하여 빠르게 이해할 수 있는 입문을 제공한다. 이 책에서 다루는 기술적 배경에 대하여 더 알고 싶은 독자들을 위하여 부록 C에서 비즈니스 통찰력을 얻을 수 있는 사례 연구에 대한 참조를 제공한다. 경험이 풍부한 데이터 웨어하우징 전문가는 이 책에서 익숙한 디멘션 모델링 패턴에 대하여 이전보다 더 많은 세부사항과 추가적인 새로운 것들에 대한 신선한 시각을 얻을 수 있을 것이다. 이 책은 비즈니스 사용자가 함께 참여하고 그들의 다음 웨어하우스 개발 프로젝트에 대하여 근본적으로 새로운 애자일 방법을 제시해준다.

 

독자 대상 초중급

 

 

저자 소개

 

로렌스 코어 (Lawrence Corr)

데이터 웨어하우스 설계자이자 훌륭한 강사다. DecisionOne 컨설팅의 최고 컨설턴트로서 고객의 데이터 웨어하우스 디자인을 검토하고 단순화하였으며, 시각적 데이터 모델링 기술에 대하여 조언해왔다. 그는 정기적으로 전세계에서 애자일 디멘션 모델링 과정을 가르쳐왔으며, 수많은 학생들에게 디멘션 DW/BI 기술을 가르쳤다.

 

짐 스테그니토 (Jim Stagnitto)

의료, 재무, 정보 산업에 특화된 데이터 웨어하우스와 마스터 데이터 관리 설계자다. 그는 데이터 웨어하우징과 데이터 마이닝 컨설팅 회사인 LLumino의 설립자이기도 하다.

 

 

역자 소개

 

김지한

2002 SK C&C에 입사하여 DBA로 업무를 시작하였으며, 다양한 운영, 구축 프로젝트에 참여하였다. 현재 다양한 인더스트리의 데이터베이스 및 SQL 진단/튜닝 업무를 수행하며 사내 강사로 활동하고 있다. 저서에는 『초보자를 위한 Oracle 10g, 『오라클 AWR을 이용한 고성능 데이터베이스 튜닝』가 있으며, 역서에는 『Oracle Exadata』가 있다.

 

장효성

2007 SK C&C에 입사하여 DBA로 첫 업무를 시작하였으며 현재 인프라 서비스 팀에서 Oracle Database성능 진단/튜닝 및 Trouble shooting 업무를 수행하고 있다. 다양한 인더스트리의 DB 성능 분석 패턴을 연구하고 있으며Oracle DB 성능 진단/분석 사내 강사다. 저서에는 『오라클 AWR을 이용한 고성능 데이터베이스』, 역서에는 『데이터 웨어하우스 멘토』가 있다.

 

 

목차

 

1. 모델스토밍

 

1. 데이터 웨어하우스 모델링 방법

서로 다른 세계인 OLTP vs. DW/BI

-- 객체 관계 모델링을 사용하기 어려운 사례

-- 디멘션 모델링 사례

데이터 웨어하우스 분석 및 디자인

-- 데이터 주도 분석

-- 보고서 주도 분석

-- 선도적 DW/BI 분석과 디자인

-- 애자일 데이터 웨어하우스 디자인

-- 애자일 데이터 모델링

-- 애자일 디멘션 모델링

BEAM

-- 데이터 이력과 7W 프레임워크

-- 다이어그램과 표기법

요약

 

2. 비즈니스 이벤트 모델링

데이터 이력

-- 이력 유형

7W

BEAM 활동: 이력 말하기

-- 이벤트 알아내기: "누가 무엇을"에 대한 질문

-- 이벤트 기록: BEAM 테이블

-- 이벤트에 대한 기술: 7W의 사용

다음 이벤트?

요약

 

3. 비즈니스 디멘션 모델링

디멘션

-- 디멘션 이력

-- 디멘션 발견하기

디멘션의 문서화

-- 디멘션 주어

-- 디멘션 그래뉼래러티와 비즈니스 키

디멘션 속성

-- 속성 범위

-- 속성 견본

-- 배타적 속성과 특징 정의

-- 속성 발견을 위한 7W 사용

디멘션 계층구조

-- 왜 계층 구조가 중요한가?

-- 계층구조 유형

-- 계층구조 차트

-- 계층구조 속성과 계층수준 발견

-- 계층구조의 완성

디멘션 이력

-- 현재값 속성

-- 수정 및 고정값 속성

-- 이력값 속성

-- 변경 이력 이야기하기

-- 디멘션 유형 문서화

-- 사소한 이벤트

속성 개수가 충분한가?

요약

 

4. 비즈니스 프로세스 모델링

애자일을 이용한 복수 이벤트 모델링

-- 맞춰진 디멘션

-- 데이터 웨어하우스 버스

-- 이벤트 매트릭스

-- 이벤트 시퀀스

이벤트 매트릭스를 이용한 모델스토밍

-- 매트릭스에 첫 이벤트 추가하기

-- 다음 이벤트의 모델링

-- 롤플레잉 디멘션

-- 프로세스 시퀀스 알아내기

-- 누락된 이벤트 확인을 위한 매트릭스 사용

-- 누락된 이벤트 세부사항을 발견하기 위한 매트릭스의 사용

이벤트 순위 게임하기

다음의 이벤트 상세 모델링

-- 맞춰진 디멘션과 견본의 재사용

-- 새로운 세부사항과 디멘션 모델링

-- 이벤트 완료하기

충분한 이벤트?

요약

 

5. 스타 스키마 모델링

애자일 데이터 프로파일링

-- 후보 원본 데이터 식별

-- 데이터 프로파일링 기법

-- 원본이 아직 없는 경우: 선도적 DW/BI 디자인

-- 데이터 프로파일링 결과를 가진 모델에 주석 달기

모델 검토와 스프린트 계획

-- 팀 예측

-- 모델 검토 수행

-- 스프린트 계획

스타 스키마 디자인

-- 디멘션 모델에 키 추가하기

-- 천천히 변화하는 디멘션

-- 디멘션 정의 갱신

-- 시간 디멘션

-- 팩트 테이블 모델링

-- 강화 스타 스키마 다이어그램 그리기

물리적 스키마 생성

-- BI 친화적 작명 규칙 선택

-- 데이터 도메인 사용

DW/BI 디자인 프로토타이핑

데이터 웨어하우스 매트릭스

요약

 

2. 디멘션 디자인 패턴

 

6. 누구와 무엇: 조직, 상품, 서비스, 사람을 위한 디멘션 디자인 패턴

고객 디멘션

-- 미니 디멘션 패턴

-- 민감한 눈송이 패턴

-- 교체 가능 디멘션 패턴

-- 고객 관계: 끼워진 [누구]

-- 계층구조 맵 패턴

직원 디멘션

-- 하이브리드 SCD 뷰 패턴

-- 이전의 값 속성 패턴

-- 인력자원 계층구조

-- 복수값 계층 구조 맵 패턴

-- 계층구조 맵 갱신

-- 이력 복수값 계층구조 맵

상품과 서비스 디멘션

-- 다양한 종류로 이루어진 상품 표현

-- 비정형 상품 계층 구조의 정형화

-- 복수 단계 디멘션 패턴

-- 부분 증가 계층구조 맵 패턴

요약

 

7. 언제와 어디: 시간과 장소에 대한 디멘션 디자인 패턴

시간 디멘션

-- 달력 디멘션

-- 기간 달력

-- 연초부터 현재까지 비교

시계 디멘션

-- 일 시계 패턴날짜와 시간 관계

-- 시간 키

국제 시간

-- 다국적 달력 패턴

-- 날짜 버전 키

국제 여행

-- 시간 디멘션인가, 시간 팩트인가?

국가 언어 디멘션

-- 국가 언어 달력

-- 교체 가능한 국가 언어 디멘션 패턴

요약

 

8. 얼마나 많이: 고성능 팩트 테이블과 유연한 수치를 위한 디자인 패턴

팩트 테이블 유형

-- 트랜잭션 팩트 테이블

-- 주기적 스냅샷

-- 증가하는 스냅샷

팩트 테이블 그래뉼래러티

진화하는 이벤트 모델링

-- 진화하는 이벤트 평가

-- 이벤트 타임라인

-- 증가하는 스냅샷 개발

팩트 유형

-- 완전 가산 팩트

-- 비가산적 팩트

-- 반가산적 팩트

-- 서로 다른 형태의 팩트 패턴

-- 팩트 없는 팩트 패턴

팩트 테이블 최적화

-- 소형화

-- 인덱싱

-- 파티셔닝

-- 집계

-- 드릴 어크로스 쿼리 패턴

-- 파생된 팩트 테이블 패턴

요약

 

9. 왜와 어떻게: 원인과 결과를 위한 디멘션 디자인 패턴

왜 디멘션

-- 내부 왜 디멘션

-- 비구조화된 왜 디멘션

-- 외부 왜 디멘션

복수값 디멘션

-- 가중치 패턴

-- 복수값 그룹 모델링

-- 복수값 교량 패턴

-- 선택적인 교량 패턴

-- 피봇 디멘션 패턴

어떻게 디멘션

-- 어떻게 디멘션 생성

-- 대역폭 디멘션 패턴

-- 단계 디멘션 패턴

-- 감사 디멘션 패턴

요약

 

부록 A. 애자일 마니페스토

애자일 소프트웨어 개발을 위한 마니페스토

애자일 소프트웨어의 12가지 원칙

 

부록 B. BEAM 표기법과 짧은 코드

테이블 코드

칼럼 코드

 

부록 C. 애자일 디멘션 모델러를 위한 자원

: 하드웨어와 소프트웨어

추천 도서

웹사이트

 

 

이 책의 구성

 

1: 모델 스토밍

 

1부는 BI 관계자의 데이터 요구사항을 모델스톰하고, 애자일 데이터 프로파일링을 사용하여 이러한 요구사항의 유효성을 확인하고, 비즈니스 관계자와 함께 이를 검토하고 우선순위를 정하여 팀으로서 ETL작업을 예측하여 이를 스타 스키마로 변환하는 것을 설명한다.

 

1: 데이터 웨어하우스 모델링 방법

 

데이터 웨어하우스와 운영 시스템: 애자일 데이터베이스 디자인의 기반으로 디멘션 모델링을 사용하기 위한 동기에 대한 이해

 

디멘션 모델링 기초: 디멘션 모델링과 엔티티-관계(ER) 모델링을 대조하고 기본 개념과 책에서 사용되는 팩트, 디멘션, 스타 스키마 어휘를 학습

 

분석과 디자인을 위한 애자일 데이터 모델링: BI 요구사항은 문제를 수집한다. 선도적 DW/BI의 도전과 기회. 애자일 데이터 웨어하우징의 장점. BI관계자와 함께 모델해야 하는가? BI데이터 요구사항을 수집하기 위한 애자일 디멘션 모델링의 사용에 대한 모델스토밍 사례

 

BEAM 소개: ER다이어그램과 BEAM의 비교.

 

2: 비즈니스 이벤트 모델링

 

비즈니스 이벤트 발견: 비즈니스 이벤트와 데이터 이력을 구성하기 위한 주제, 동사, 객체의 사용.

 

비즈니스 이벤트 문서화: 협업적 모델 이벤트에 화이트보드와 스프레드시트 및 BEAM의 사용.

 

이벤트 세부사항 발견: 원자 수준의 이벤트 세부사항을 발견하기 위한 7Ws의 사용(누가, 무엇을, 언제, 어디서, 얼마나 많이, , 어떻게), 세부사항과 이벤트, 데이터 이력 테마와 정의를 연결하고 이를 문서화하기 위한 전치사의 사용. 이벤트 이력 유형(독립적, 연속적, 진화적)과 잠재적 팩트 테이블 그래뉼래러티를 문서화하기 위한 BEAM 짧은 코드의 사용

 

3: 비즈니스 디멘션 모델링

 

“세부사항에 위한 세부사항모델링: 비즈니스 관계자와 함께 디멘션을 발견하고 그 디멘션 속성을 문서화. 디멘션 이력을 구성하고 미약한 내러티브를 극복

 

디멘션 계층구조 발견: 계층구조 관계를 모델하고 추가적인 디멘션 속성을 발견하기 위한 계층구조 차트의 사용

 

이력값 요구사항의 문서화: 현재값(as is)과 시간 순서적으로 올바른(as was) 분석 뷰를 지원하는 천천히 변화하는 디멘션(SCD)를 문서화하고 정의하기 위한 변경 이력과 BEAM짧은 코드의 사용

 

4: 비즈니스 프로세스 모델링

 

복수의 비즈니스 이벤트 모델링: 이벤트와 디멘션 사이의 관계를 문서화하고 식별하여 데이터 웨어하우스 디자인을 스토리보드화하기 위한 모델스토밍과 이벤트 매트릭스. 요구사항에 대한 우선순위와 개발 스프린트 계획을 위한 이벤트 이력의 사용

 

애자일 데이터 웨어하우스 개발을 위한 모델링: 맞춰진 디멘션의 정의와 재사용. 디멘션의 일반화와 그 규칙을 문서화. 데이터 웨어하우스 버스 아키텍처와 점진적인 개발의 지원

 

5: 스타 스키마 모델링

 

애자일 데이터 프로파일링: 데이터의 실체에 대한 검토와 비즈니스 관계자의 모델에 대한 적응. 데이터 소스와 물리적 데이터 유형을 문서화하고, 모델 실행 가능성에 대하여 비즈니스 관계자에게 피드백을 제공하며, 팀으로서 ETL 작업을 예측하는 데 도움을 주기 위한 BEAM 주석 달기

 

BEAM 테이블을 스타 스키마로 변환: 디멘션 테이블을 완성하고 이벤트 테이블을 팩트 테이블로 변환하기 위한 대체 키의 정의와 사용. 데이터베이스 설계 결정을 문서화하기 위한 BEAM 기술 코드의 사용과 BEAM 모델스토머 스프레드시트를 사용한 데이터베이스 스키마 생성. BI보고서 요구사항을 정의하기 위한 프로토타이핑. 기술 대상에 대한 향상된 스타 스키마 및 물리적 디멘션 매트릭스의 생성

 

 

2: 디멘션 디자인 패턴

 

2부는 고성능 스타스키마 디자인을 위한 디멘션 모델링 테크닉을 다룬다. 이를 위해, 우리는 중요한 DW/BI요구사항을 확보하고, 이들과 관련된 문제와 논의점을 설명하고, 패턴 솔루션을 문서화하며 이를 구현하는 결론을 내기 위하여 BEAM과 스타 스키마 ER표기법을 사용한 디자인 패턴 접근법을 사용한다.

 

6: 누구와 무엇: 사람과 조직, 상품과 서비스

 

고객, 직원, 조직 모델링: 크고 빠르게 변화하는 디멘션 밀도를 다룸. 미니 디멘션을 사용한 변경 추적

 

혼합된 비즈니스 모델: 여러 종류의 고객(비즈니스와 소비자)과 상품(유형의 상품과 서비스)에 대한 모델을 위한 배타적 속성과 교체 가능 디멘션의 사용

 

향상된 천천히 변화하는 패턴: 거시적, 미시적 수준의 변경을 모델링. 하이브리드 SCD뷰를 사용하여 현재, 과거를 동시에 보며, 이전 값 보고서 요구사항을 지원

 

복잡한 계층 구조 관계 표현: 고객 소유권, 직원 HR보고서 구조, 상품 구성요소(재료 명세서 구성요소와 상품 번들)와 같은 재귀적 계층구조를 다루기 위한 계층구조 맵의 사용

 

비즈니스 이벤트의 변화 지원: 개별 직원이나 팀에 할당된 판매 트랜잭션, 단일 상품이나 전체 상품 카테고리를 위한 웹 광고 표현 같은 가변적인 그래뉼래러티를 가진 이벤트의 설명을 위한 복수 단계 디멘션의 사용

 

7: 언제와 어디: 시간과 위치

 

시간 디멘션 모델링: 분리된 달력과 시계 디멘션의 사용과 일자 키 정의

 

당 해년 누계 분석: 올바른 당 해년 누계 비교를 지원하는 팩트 상태 테이블과 팩트 특화 달력의 사용

 

다국적 달력: 시간과 위치에 대응하기 위한 다국적 디멘션 모델링. 타임 존과 자국어 보고서의 지원

 

이동 모델링: 여행과 이동 궤적의 이해를 위하여 추가적인 시간과 위치를 가진 초과된 이벤트

 

8: 얼마나 많이: 팩트와 수치와 KPIs

 

성능과 쉬운 사용을 고려한 팩트 테이블 디자인: 세 가지 기본 팩트 테이블(트랜잭션, 주기적 스냅샷, 증가하는 스냅샷) 정의. 증가하는 스냅숏을 진화하는 이벤트로 모델하기 위한 타임라인의 사용

 

유연한 수치와 KPIs를 위한 기초를 제공: 원자 수준의 가산적 팩트 정의. 반가산, 비가산 팩트의 문서화와 그 한계의 이해

 

팩트 테이블 성능 최적화: 팩트 테이블 ETL과 쿼리 성능의 향상을 위한 인덱싱, 파티셔닝, 집계의 사용

 

교차-프로세스 분석: 드릴 어크로스 프로세싱과 복수 경로 쿼리를 이용한 복수 팩트 테이블에서 결과를 조합. 쿼리 프로세승을 간소화하기 위한 파생된 팩트 테이블의 구축과 데이터 마트의 통합

 

9: 왜와 어떻게: 원인과 결과

 

원인 요소 모델링: (why) 이벤트 발생과 왜 팩트 다양성을 설명하기 위하여 프로모션, 날씨, 그리고 이외의 인과관계 디멘션의 사용. 구조화되지 않은 이유와, 예외 설명을 다루기 위한 텍스트 디멘션의 사용

 

이벤트 설명 모델링: 이벤트의 추가적인 설명을 수집하기 위한 어떻게(how) 디멘션의 사용. 과대한 규모의 퇴화된 디멘션을 어떻게(how) 디멘션으로서 통합하고 작은 규모의 왜(why)와 어떻게(how) 디멘션을 결합

 

복수값 디멘션: 디멘션이 각각의 원자 수준의 팩트에서 복수 값을 가질 때, 팩트 할당(‘원자의 분열’)을 다루기 위한 교량 테이블과 가중치의 사용. 효율적으로 적게 존재하는 복수값 디멘션을 다루기 위하여 선택적인 교량 테이블과 복수 단계 디멘션의 사용. 복잡한 복수값 제약조건을 지원하기 위한 피봇 디멘션의 사용

 

추가적인 어떻게 디멘션의 제공: 순차적 행위를 위한 단계 디멘션, 데이터 품질과 원천 흐름을 추적하기 위한 감사 디멘션, 팩트를 디멘션으로 다루기 위한 범위 밴드 디멘션의 사용

 

부록 A: 애자일 마니페스토

 

부록 A는 애자일 소프트웨어 개발의 마니페스토에 대한 4가지 가치와 12가지의 원칙을 설명한다.

 

부록 B: BEAM표기법과 짧은 코드

 

부록 B는 이 책의 전반에서 데이터 요구사항 모델링, 데이터 프로파일링 결과 기록과 물리적 디멘션 모델링 디자인 결정에서 사용된 BEAM 표기법을 요약한다.

 

부록 C: 애자일 디멘션 모델러의 자원

 

부록 C는 이 책에서 사용한 아이디어와 여러분이 이 책에 적응하는 데 도움이 될 수 있는 툴(하드웨어와 소프트웨어), 웹사이트, 책에 대하여 정리되어 있다.

 

 

 

Trackback 0 | Comment 0

퍼블릭's Blog is powered by Daum & tistory