데이터웨어하우스 데이터모델링과 다차원DB 설계
Download
Report
Transcript 데이터웨어하우스 데이터모델링과 다차원DB 설계
데이터웨어하우스
데이터 모델링
(Data Warehouse Data Modeling)
목
차(1)
제 1 장
데이터웨어하우스 데이터모델링 개요
DW 데이터의 특성
DW 모델링 개요
제 2 장
데이터 정의
원 데이터와 목적 데이터
갭(Gap) 분석 및 해결
데이터 변형
DWM-2
목
차(2)
제 3 장
데이터웨어하우징 모델링
Dimensional Business Model
Star Model
Star Model의 구축
Fact Table
Fact Table 의 속성
Dimension Tables
Snowflake Model
Multiple Fact Tables
Multi Star Schema
외부참조 테이블 (Outboard Table)
DW내에서의 시간의 활용
DWM-3
목
차(3)
제 4 장 고급 데이터웨어하우스 모델링
Dimension 속성의 변경
History의 관리
One Dimension Compare To Several Dimensions
계층구조 데이터의 모델링
차원내의 복수 계층
제 5 장
데이터의 집합화
요약 Table과 집합화
집합화 (Aggregation)
Snowflake model과 요약 fact table
하나의 대규모 단일 fact table
DW내에서 요약 Table의 관리
요약 Table 사용시의 주의할 사항
Granularity
DWM-4
제1장 데이터웨어하우스 데이터모델링 개요
DW 데이터의 특성
DW는 데이터의 통합체
DW 데이터는 주제중심
DW 데이터는 …
DW 모델링 개요
정보요구를 모델로
DW 모델
주제영역 논리적 데이터모델링
DWM-5
DW는 데이터의 통합체(Consolidation)
Internal Data
Operational
Data Store
Data Warehouse
External Data
Manual Data
Data Marts
DWM-6
DW 데이터는 주제중심(Subject Oriented)
적용업무에 의해서가 아닌 업무적 주제에 의한 분류 및 저장
수신
여신
고객실적
정보
공통
외환
수출입
데이터웨어하우스의
업무적 주제에 의한 분류
적용업무에 의한 분류
DWM-7
DW 데이터는 ...
데이터통합
데이터통합
데이터의 일관성 (Data Consistency)
데이터의 중복 (Data Redundancy)
Time Variant
Key Time Element
비휘발성
DWM-8
정보요구를 모델로
정보요구 수집
JAD (Joint Application Development)
Interviews
Current Reports
IT Report Backlog
대상업무와 관련된 업계의 출판물
경영진, 관리자와의 Meetings
업무 프로세스가 아닌 데이터를 보는 관점(View)에
주력
DWM-9
DW 모델
Operational
Data Store
Subject Area
Logical Data
Model
Star Schema
Physical Data Model
Snowflake Schema
Physical Data Model
DWM-10
주제영역 논리적 데이터모델링
Subject Area 정의
엔티티(Entity) 정의
속성(Attribute) 정의
관계(Relationship) 정의
업무규칙(Business Rule) 검증
Critical Business Measure 정의
추출데이터 추가
시간요소 추가
DWM-11
제2장
데이터 정의
원 데이터와 목적 데이터
갭(Gap) 분석 및 해결
데이터 변형
DWM-12
원 데이터와 목적 데이터
원 데이터 (Source Data)
다른 database, file, segment들에 있는 data나 외부에서 제공되는
data
운영 시스템에서 추출된다
목적 데이터 (Target Data)
Data Warehouse database의 data가 되는 data
원 시스템(Source System) 분석
ER-Diagram
Database Catalogs
Metadata
역공학(Reverse Engineering) 을 활용하라
80:20 Rule을 염두에 두라
DWM-13
갭(Gap) 분석 및 해결
갭(Gap) 분석
Data content
Data format
Data relationship
Granularity
갭(Gap) 의 해결
Ignore
Adjust
Compromise
Postpone
DWM-14
데이터 변형
원시 시스템에서 추출된 데이터는 DW로 구성되기 전에
통합되고 변형된다.
제품 번호
17
A
= 17A554322
5543
지역 Code
영업구역
제품 Code
제품 Size Code
Key들로 구축된 항목
DWM-15
22
제3장
데이터웨어하우징 모델링
Dimensional Business Model
Star Model
Star Model의 구축
Fact Table
Fact Table 의 속성
Dimension Tables
Snowflake Model
Multiple Fact Tables
Multi Star Schema
외부참조 테이블 (Outboard Table)
DW내에서의 시간의 활용
DWM-16
Dimensional Business Model
Product
Geography
Facts
Dist.
Channel
Sales
Inventory
Costs
Time
Dimension
High level Dimensional Business Model
DWM-17
Star Model
분석 처리를 지원
Fact table
Dimension table
장점
간단한 모델
사용자 중심
테이블 조인을 감소하여 성능 향상
단점
융통성이 적다
중복된 데이터를 갖는다
다수의 요약 테이블을 필요로 한다
Fact 테이블간의 조인이 어렵다
DWM-18
Star Model의 구축
주제 영역
사실 (Facts)
세분화 (Granularity)
차원 (Dimensions)
차원의 속성들 (Dimensional attributes)
속성의 특징
정적인가
동적인가
DWM-19
Fact Table
Major table이라고도 한다.
Business에 관한 수량적이거나 사실적인 data를 갖는다.
숫자로 나타내는 측정치가 정보로 질의된다.
많은 수의 column들과 수백만의 행을 갖는다.
Product
Time
Time Key
Product Key
Customer Key
Channel Key
Sales Facts
(Units, Price)
DWM-20
Customer
Channel
Fact Table Attributes
Fact는 업무의 양적 특성을 보이는 속성이다
Fact table의 속성들은 외부 dimension key들이나 판매나
단위와 같은 수치적 특성들을 구분한다
Fact Data
Additive
Non-additive
Semi-additive
Time
Additive
Product
DWM-21
Sales Fact
Time_Key
Product_Key
Store_Key
Promotion_Key
Quantity_sold*
Revenue*
Cost*
Customer_count
Store
Semi-Additive
Promotion
Dimension Table
Minor table이라고도 한다.
Business의 차원을 반영하는 서술적인 data를 갖는다.
Fact table내의 각각의 row에 대하여 서술적인 정보를 갖는다
일반적으로 fact table에 비하여 그 양이 적다
시간 차원 테이블을 갖는다
Large Dimension Tables
모든 dimension table이 항상 작은 것은 아니다
고객에 관한 정보를 갖는 dimension table이라면 매우 커질 수
있다
이러한 복잡한 분석을 지원하기 위하여 보다 정교한 인덱스와
조인 기술을 필요로 한다
DWM-22
Snowflake Model
Star model의 변형
fact table 구조는 그대로 유지하면서 모든 차원 정보를 3차
정규형으로 저장
잇점
보다 적은 저장 공간을 필요로 한다
대부분의 많은 개발툴이 지원한다
데이터 중복을 최소로 한다
Time Period
Category
단점
보다 복잡해지므로 사용자의
이해도를 좀 더 필요로 한다
Products
Time
Sales
(units,
price)
Customer
Segment
DWM-23
Channel
Multiple Fact Table (1)
Snowstorm model이나 Snowflake model이라고도 한다
Fact table들이 dimension table을 통하여 연결된다
서로 다른 시간 Dimension을
적용할 수 있다
Period_ID
Product_ID
Product_ID
Prod_Desc
Brand
Size
Market_ID
Market_ID
Units
Dollars
Discount%
Market_Desc
District
Region
Period_ID
Period_ID
Product_ID
Period_Desc
Quarter
Year
Market_ID
Units
Dollars
Discount%
DWM-24
Multiple Fact Table (2)
DW Model의 모든 table들이 fact나 dimension으로 나뉘어지는 것은
아니다
business의 임의의 차원간의 다-대-다 관계를 해소하기 위하여
추가된다
Period_ID
Period_Desc
Quarter
Year
Period_ID
Product_ID
Units
Dollars
Discount%
Prod_Desc
Brand
Size
Product_ID
Market_ID
Product_ID
Group_ID
Factless fact table
Associative Dimension
DWM-25
Market_ID
Market_Desc
District
Region
Group_ID
Group_Desc
Multi Star Schema
foreign key의 연결만으로 fact table의 각 행을 유일하게
구분할 수 없을 경우에 유도된다
Store_ID
Store_ID
Store_Name
Region
Manager
Class_ID
SKU_ID
SKU_ID
Class_Desc
Class_ID
Dept_ID
Item
Date
Receipt_Nbr
Receipt_Line_Item
Dept_ID
Units
Price
Amount
Dept_Desc
2개의 2차 dimension table을 갖는 Multi star schema
DWM-26
외부참조 테이블 (Outboard Table)
임의의 Dimension table은 다른 Dimension table에 의하여 참조될 수
있다
참조되는 dimension table을 outboard, outrigger 혹은
2차 dimension table이라고도 한다
Period_ID
Period_Desc
Quarter
Year
Period_ID
Product_ID
Units
Dollars
Discount%
Prod_Desc
Brand
Size
District_ID
Product_ID
Market_ID
Market_ID
Market_Desc
District_ID
Region_ID
DWM-27
District_Desc
Region_ID
Region_Desc
DW내에서의 시간의 활용
DW에 있어 시간의 표현은 필수요소
DW내에서 시간의 단위에 대한 다양한 정의를 만족하는 시간의
계층을 정의해야 한다
시간은 어디에 저장되어야 하는가?
일반적으로 DW내에서의 시간 dimension table은 시간적인
요소로 fact table에 저장된다
Multiple Time Hierachies
Calendar 접근
시간에 대한 측정치는 간단하게 시작될 수 있으나 곧 매우
복잡한 개념으로 발전하게 된다
DWM-28
제4장
고급 데이터웨어하우스 모델링
Dimension 속성의 변경
History의 관리
One Dimension Compare To Several Dimensions
계층구조 데이터의 모델링
차원내의 복수 계층
DWM-29
Dimension 속성의 변경
DW는 history를 저장한다
사용자의 요구사항이 저장되어져야 할것을 결정
변화는 추적가능해야 한다
Single
Married
Separated
사용할 수 있는 몇가지 방법들
history를 전부 다시쓴다
record를 추가함으로 history의 유지
history table을 이용한 history 유지
부분적 history의 유지보수
DWM-30
Divorced
History의 관리
History 다시 쓰기
구현이 쉽다
이전의 history를 잃는다
Single
Record를 추가함으로 history의 유지
차원이 증가하여 history 보존
시간적 제약은 필요하지 않다
일반화할 수 있는 Key를 필요로 한다
History table을 이용한 history 유지
History table이 추가되어 Dimension이 확장된다
History table내에서의 key를 무엇으로 할것인가
부분적 history의 유지보수
Data의 불안정에 대비하여야 한다
DWM-31
Married
Separated
Divorced
One Dimension Compare To Several Dimensions
단일 차원
보다 적은 조합에 의한 보다 작은 Fact table을 만든다
dimension data의 분석과 유지를 어렵게 한다
복수 차원
다수의 조합에 의하여 fact table의 크기를 증가 시킨다
분석의 융통성을 증대
data 정의의 변화에 있어 보다 쉬운 방법을 제공
전반적인 유지보수를 쉽게 한다
DWM-32
계층구조 데이터의 모델링
계층 구조 데이터는 다음과 같이 표현된다
단일 계층 (차원; dimension)
복수 계층 (dimensions)
계층적 data는 dimension table에 저장된다
Dimension은 하나 이상의 계층을 가질 수 있다
여러 개의 모델이 사용 가능하다
Flat
Recursive
Combined
3NF
DWM-33
차원내의 복수 계층
테이블 항목의 사용
항목 계층의 생성
모든 고객
Sales Region
State
Drilling down
좀 더 자세히
Sales Zone
Rolling Up
요약하여
Country
Sales District
고객
Dimension table내의 복수 계층
DWM-34
제5장
데이터의 집합화와 요약
요약 Table과 집합화
집합화 (Aggregation)
Snowflake model과 요약 fact table
하나의 대규모 단일 fact table
DW내에서 요약 Table의 관리
요약 Table 사용시의 주의할 사항
Granularity
DWM-35
요약 Table과 집합화(Aggregation)
요약된 데이터란?
미리 정의된 fact data를 누적
직접적이고 쉽게 접근할 수 있도록 data를 집합화
왜 요약된 데이터를 갖는가?
질의 응답시간을 개선하기 위하여
자원의 활용도를 최적화 하기 위하여
분석 처리를 강화하기 위하여
집합화된 data(Aggregated data)
DW내의 SUM, MAX, MIN, COUNT등으로 미리 계산되고 요약된 data
일반적으로 요약된 fact table에 저장
DWM-36
집합화 (Aggregation)
Geography
Market
Region
Store
Item
Class
Dept
Product
Geography와 product dimension에 대한 미리 저장된 집합화 Table
DWM-37
Snowflake model과 요약 fact tables
Snowflake 구성
Dimension table을 공유 가능하게 한다
보다 진보된 의사결정 tool들의 사용을 쉽게한다
유연성
Date
Key
Region
ID ...
Denormalized
Store Dimension Table
Region
ID
Product
Key
Total
Units
TotalS
ales
Region Summary Table
Total by region, by product, by day
State
ID ...
Date
Key
Store
정규화를 요구한다
Key ...
성능이 저하될 수 있다
대규모 dimension
DWM-38
State
ID
Product
Key
Total
Units
TotalS
ales
State Summary Table
Total by state, by product, by day
Store
Key
Product
Key
Total
Units
Basic Fact Table
TotalS
ales
하나의 대규모 단일 fact table
세부 fact data와 요약된 data를 같은 table에
집합화 정보가 fact table에 포함되어 있다
차원에서 level을 관리하기 위하여 일반화된 key가 필요하다
요약된 정보를 얻기위한 질의
절차가 간단하다
종종 OLAP을 위하여 사용된다
Row Headers
Summary
Rowns
Basic Grain Rowns
유지보수, 운영관리가 어렵다
Fact Table
DWM-39
DW내에서 요약 Table의 관리
Yearly
summary
data
Quarterly
summary
data
Monthly
summary
data
Last 12 months
Daily detail
1994/1995
1994
1997
DWM-40
1998
요약 Table 사용시의 주의할 사항
생성시의 제한 사항
모든 가능한 사항에 대한 고려는 엄청난 양의
자원을 필요로 한다
사용시의 주의할 사항
요구사항을 명확히 구분한다
향상될 수 있는 성능을 측정해 낸다
요약 table의 가치를 결정하여 더하거나 삭제한다
지속적인 재반영(refresh)은 시간의 소모가 클 수 있다
원활한 운영에 부적합한 Tool을 사용하지는 않는가
제한된 확장성
DWM-41
Granularity
Grin
DW내의 세밀화의 수준
Granularity의 수준은 database의 크기와
database가 지원할 수 있는 분석의 형태에
직접 영향을 준다
Low level of granularity
high level of detail
한달 동안 고객이 사용한 각각의 통화에 대한 세부 정보
High level of granularity
low level of detail
한달에 임의의 고객이 통화한 횟수
DWM-42