Data Warehouses & Multi-dimensional Databases

Slides:



Advertisements
Similar presentations
Chapter 2. Text Patterns 2.1 ~ 2.3 서울시립대 전자전기컴퓨터공학과 데이터마이닝 연구실 G 노준호.
Advertisements

Chapter 8. TEXT CLUSTERING 서울시립대 전자전기컴퓨터공학과 데이터마이닝 연구실 G 노준호.
2011년 월별 영업일수 정리 2011년 월별 Calendar (단위: 일)
서울시립대학교 전자전기컴퓨터공학부 김한준
Table of Contents I. OLAP 의 이해 II. OLAP의 CRM 적용 사례 III. 향후 OLAP의 발전 방향.
MrDataBld 2.x 제품 소개 2007.
Data Warehouse.
16 분석함수 분석 함수의 개념 분석 함수의 종류 계층적 질의문.
데이터 웨어하우스를 위한 데이터베이스 설계: 기본요건
Chapter 7 데이터웨어하우징 의사결정지원시스템.
Chapter 15 aggregates 서울시립대학교 인공지능연구실 홍성학.
3 2 년 1 나만의 하나뿐인 달력~♥ sujin.
제 9 장 데이터 웨어하우스의 구조 박 종수 성신여자대학교 컴퓨터정보학부 2002 정보공학특강1.
Comshare Decision을 이용한 SCM Monitoring
제 09 장 데이터베이스와 MySQL 학기 인터넷비즈니스과 강 환수 교수.
DBMS실습(I) 데이터베이스 기본개념 2015년 1학기 동서울대학교 컴퓨터소프트웨어과.
데이터웨어하우스
6장 Mysql 명령어 한빛미디어(주).
MySQL 및 Workbench 설치 데이터 베이스.
데이터베이스 및 설계 금오공과대학교 컴퓨터공학부 이 이섭.
Enterprise Data Warehouse
목 차 Ⅰ 회사소개 Ⅱ CIP 소개 Ⅲ TPM 추진현황 Ⅳ 활동 성과 및 향후 계획.
EARNED VALUE MANAGEMENT
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
Excel OLAP Reporting / OWC를 이용한
목차 백업과 복원.
데이터 웨어하우스 목차 1.데이터 웨어하우스 개발방법론 2슬라이드~13슬라이드
데이터웨어하우스(DW)
데이터 웨어 하우스 이병규 김기훈.
마케팅 분석 시스템 개발 방법론 2004년 5월 27일 ㈜비아이솔루션 김환태
SSAS 변화된 구조와 사용자 분석 화면 구현 우철웅 기술이사 BI 사업부 인브레인.
테이블 : 데이터베이스를 구성하는 요소로 같은 성격에 정보의 집합체. 레코드 : 하나의 정보를 가지고 있는 컬럼의 집합체
웹 로그 데이터를 이용한 다차원 질의 분석 데이터베이스 연구실 석사 3학기 김 백 선.
5장 Mysql 데이터베이스 한빛미디어(주).
Of Data Warehouses, Operational Data Stores, Data Mart and Data ‘outhouse’ 경영정보학과 양동주 경영정보학과 차시현 경영정보학과 이휘성 경영정보학과
1.BW 기본개념과 구조의 이해 Sep 2004 이웨어시스템 (주) EWARESYSTEM.
Dept. of CSE, Ewha Womans Univ.
Pilot Decision Support Suite를 사용한 매출액 분석
17강. 데이터 베이스 - I 데이터 베이스의 개요 Oracle 설치 기본적인 SQL문 익히기
01 데이터베이스 개론 데이터베이스의 등장 배경 데이터베이스의 발전 과정 데이터베이스의 정의 데이터베이스의 특징
사업계획/예산수립을 위한 OLAP구현방안
5장 Mysql 데이터베이스 한빛미디어(주).
C#.
JDBC Lecture 004 By MINIO.
세일즈분석/분석CRM을 위한 데이터마이닝 활용방안
제 8 장 객체지향 데이타베이스와 데이타베이스의 새로운 응용 분야
(Data Exploration & Analysis)
2장. 데이터베이스 관리 시스템 데이터베이스 관리 시스템의 등장 배경 데이터베이스 관리 시스템의 정의
소프트웨어시스템 실습 다차원 데이터 구성 및 OLAP
Chapter 03. 관계 데이터베이스 설계.
04. DBMS 개요 명지대학교 ICT 융합대학 김정호.
의사결정지원시스템 개요 Database DBMS D G M S MBMS Modelbase User Interface
MovieStory 작성자 홍성혁 소속 전자전기컴퓨터공학부 학번
Database Management System
단계1 단계2 단계3 단계4 단계5 단계별 제목 상세내용1 상세내용
최근의 취업률 / 실업률 추이 취업률 실업률 취업자 증가수 JUL % 10 % 100만 명 50 % 5 %
Data Warehouse 구축 (설계 위주)
자료 : 한국면세점협회 B $ 15.6B $ 14.9B $ 14.17B $ (1.6조 원) 자료 : 한국면세점협회
오라클 11g 보안.
멀티미디어시스템 제 4 장. 멀티미디어 데이터베이스 정보환경 IT응용시스템공학과 김 형 진 교수.
멀티미디어시스템 제 5 장. 멀티미디어 데이터베이스 개념 IT응용시스템공학과 김 형 진 교수.
Dec Nov Oct Sep Aug Jul Jun May Apr Mar Feb Jan 자료 : 리얼메터
ER-관계 사상에 의한 관계데이터베이스 설계 충북대학교 구조시스템공학과 시스템공학연구실
데이터 베이스의 내부 구조.
1. 데이터베이스 환경.
Dec Nov Oct Sep Aug Jul Jun May Apr Mar Feb Jan 자료 : 리얼메터
07. DB 설계 명지대학교 ICT 융합대학 김정호.
 6장. SQL 쿼리.
                              데이터베이스 설계 및 실습 #6 - SQL 실습 한국외국어대학교 DaPS 연구실                              
주)INVENTORNICS 노창배 소프트웨어 김 경 순
Presentation transcript:

Data Warehouses & Multi-dimensional Databases 2014 서울시립대학교 전자전기컴퓨터공학부 김한준 교수

Data Warehouse 기반 정보 아키텍쳐 DSS Legacy database Data Mining EIS 변환/추출 DW 기존 응용 시스템 분석 Reports Data Processing (Transaction) Information Processing OLTP성 DB와 OLAP성 DB(DW)의 분리

Data Warehouse 경영 및 정책결정에 필요한 정보 처리 기능을 효율적으로 지원하는 데이타베이스 시간 데이터 저장 44 Data Warehouse 경영 및 정책결정에 필요한 정보 처리 기능을 효율적으로 지원하는 데이타베이스 시간 데이터 저장 다양한 관점에 의한 데이터 관찰 시간에 따른 경향 분석 요약 데이터 요구 비휘발성 새로운 데이터 모델의 필요성 :다차원 모델(Dimensional model)

Data Warehouse subject (measure) -> ‘fact’ 테이블 Decision Making을 위해 특별히 설계된 ‘subject’ 중심적인 데이터 저장소로서 다양한 ‘view’에서 관찰 분석이 가능 subject (measure) -> ‘fact’ 테이블 view -> ‘dimension’ 테이블

Data Warehouse의 특성 주제중심적 (subject-oriented) 통합적(integrated) 시간성(time variant, historical) 비휘발성(non-volatile)

Data Warehouse의 특성 주제 중심 (Subject oriented) OLTP시스템의 데이타는 업무처리 중심 (process/function oriented) 으로 이루어짐 DSS의 관심은 정보 시스템의 대상이 되는 주제들임 DW의 Data Model은 주제들을 중심으로 이루어짐 다차원 모델 DSS에 쓰이지 않는 데이타는 DW에서 제외됨 Operational Data Warehouse 고객 대출처리 예금처리 판매 카드처리 재고

Data Warehouse의 특성 통합된 데이타베이스 (Integrated) 개체명 (table 이나 column) 단위 기호 일관된 데이타 원천 (source) 잔고 금액 현재잔고 잔고 응용 A 지름:cm 응용 B 지름:inch cm 변환 응용 A 남, 여 응용 B m, f 응용 C 0, 1 m , f

Data Warehouse의 특성 시간성 (Time variant) OLTP: 현재 순간의 현실세계 모습 DW: 특정주제가 시간에 따라 변화한 모습을 담고 있어야 함 고객 홍길동의 월별 전화 사용량 품목별 일별 판매량 키(key)에 시간 성분이 포함되어야 함 홍길동 from:94/1/1 to :현재 주소: 서울 홍길동 from:94/1/1 to :96/3/6 주소: 서울 홍길동 1996.3.7. 서울에서 부산으로 이사 홍길동 주소:서울 나이: 24세 update 홍길동 from:96/3/7 to :현재 주소: 부산 append 홍길동 주소:부산 나이: 24세 OLTP DW

Data Warehouse의 특성 갱신이 일어나지 않음 (nonvolatile) 레코드 단위의 갱신이 없음 cf) 실시간 데이터 웨어하우스 데이타의 추가 (load)만 있음 정규화가 크게 중요하지 않음 OLTP DW update insert load access delete

분석을 위한 DB의 구성 ? 해당 좌표에 분석대상을 저장 measures 분석의 관점 dimensions

Data Warehouse 구축 Multi-dimensional DB (n차원 배열형태) 로 구축 Product dimension measures dollars_sold units_sold dollars_cost Store dimension Date dimension

Data Warehouse 구축 관계형 데이터베이스에서 DW의 구축

Data Warehouse 스키마 관계형 데이터베이스에서 DW의 구축 : Star schema model measures

Data Warehouse 구축 Relational DB로 구축 measures time_key (FK) product_key ‘Time’ Dimension 테이블 time_key day_of_week month quarter year holiday_flag ‘Product’ Dimension 테이블 ‘Store’ Dimension 테이블 measures time_key (FK) product_key store_key dollars_sold units_sold dollars_cost ‘Sales’ Fact 테이블

Data Warehouse 구축 Multi-dimensional DB로 구축 measures dollars_sold units_sold dollars_cost

Data Warehouse 구축 M e t a D Current Detail highly summarized 10년간의 품목군별 월별 판매량 M e t a D lightly summarized 5년간의 품목별 주간 판매량 Current Detail 올해 판매 구체적 데이타 (current detail) OLTP 로부터 load 지난해까지의 판매 구체적 데이타 (older detail)

Data Warehouse 활용 연산: Slicing 특정 차원을 고정시켜놓고 다른 차원들의 데이터를 관찰 예: ‘EverMore’ 지점을 고정하여, data, product 차원에서 판매 현황 관찰

Data Warehouse 활용 연산: Dicing 각 차원 마다 범위를 설정하여 보다 제한된 cube를 생성 예: Time 차원 범위: 208년 4월 Product 차원 범위: Food 카테고리 Store 차원 범위: Florida

Data Warehouse 활용 연산: Drill-down (“Show me more detail”) 연산: Roll-up 상위 수준의 요약정보로부터 시작하여 단계적으로 관련된 구체 데이터를 추적하는 과정 예: 2014년 분기별 판매량 정보 2014년 월별 판매량 정보 연산: Roll-up drill-down의 반대 연산

Data Warehouse 활용 연산: Pivoting (or Rotating) n개 차원의 방향을 전환 새로운 차원의 삽입하면서 수행할 수도 있음

Data Warehouse 스키마

Data Warehouse 구축: R의 활용 Dimension 테이블의 구축 product 차원 테이블: prod_table time 차원 테이블: month_table location 차원 테이블: state_table state_table <- data.frame(key=c("CA", "NY", "WA", "ON", "QU"), name=c("California", "new York", "Washington", "Ontario", "Quebec"), country=c("USA", "USA", "USA", "Canada", "Canada")) month_table <- data.frame(key=1:12, desc=c("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"), quarter=c("Q1","Q1","Q1","Q2","Q2","Q2","Q3","Q3","Q3","Q4","Q4","Q4")) prod_table <- data.frame(key=c("Printer", "Tablet", "Laptop"), price=c(225, 570, 1120))

Data Warehouse 구축: R의 활용 Fact 테이블의 구축: random하게 measure 데이터 생성 gen_sales <- function(rec_num) { # Generate ‘fact’ data randomly loc <- sample(state_table$key, rec_num, replace=T, prob=c(2,2,1,1,1)) time_month <- sample(month_table$key, rec_num, replace=T) time_year <- sample(c(2012, 2013), rec_num, replace=T) prod <- sample(prod_table$key, rec_num, replace=T, prob=c(1, 3, 2)) unit <- sample(c(1,2), rec_num, replace=T, prob=c(10, 3)) # 판매 개수 amount <- unit * prod_table[prod, ]$price # 판매금액 = 개수 * 단가 sales <- data.frame(month=time_month, year=time_year, loc=loc, prod=prod, unit=unit, amount=amount) sales <- sales[order(sales$year, sales$month),] # 시간에 따라 fact data의 sorting row.names(sales) <- NULL return(sales) } loc <- sample(state_table$key, rec_num, replace=T, prob=c(2,2,1,1,1)) 샘플링 대상 샘플링 횟수 중복허용 샘플링 확률

vector 또는 data.frame의 정렬 sales <- sales[order(sales$year, sales$month), ] 1차 정렬 2차 정렬 x <- c(10, 50, 40, 30, 5) order(x) # 5 1 4 3 2 를 출력 5번째 값 < 1번째 값 < 4번째 값 < 3번째 값 < 2번째 값 x <- x[c(5,1,4,3,2)] # => x <- x[order(x)]

Data Warehouse 구축: R의 활용 ‘Sales’ Fact 테이블의 생성 sales_fact <- gen_sales(500) head(sales_fact)

Data Warehouse 구축: R의 활용 library(sqldf) sqldf("select * from state_table") 표준 SQL 문장 처리 sqldf("select s.key, sum(amount) from sales_fact f, state_table s where f.loc=s.key group by s.key ")

Data Warehouse 구축: R의 활용

Data Warehouse 구축: R의 활용 다차원 Multi-dimensinal DB(cube)의 생성 revenue_cube <- tapply(sales_fact$amount, sales_fact[ , c("prod", "month", "year", "loc")], FUN=function(x){return(sum(x))})

tapply 연습 vector SQL의 “group by” 연산과 유사 첫 인자 vector와 동일한 길이의 index (factor) SQL의 “group by” 연산과 유사

Data Warehouse 구축: R의 활용 dimnames(revenue_cube)

DW Operations OLAP operations Slice Dice Rollup Drilldown Pivot

OLAP (On-Line Analytic Processing) 적극적인 정보사냥 Information Source Information Source Information Broker

OLAP 정의 FASMI Fast Analysis of Shared Multidimensional Information interactive system (5 ~ 20초 이내의 응답을 요구) keep a chain of thought Analysis Ad hoc. Analysis , Flexible end-user calculation Shared multiple access , one-write, multiple-read security 보장 Multidimensional MDB에서 처럼 데이터를 다차원적으로 관찰 eg) 판매정보의 차원 : 날짜, 품목, 대리점, 사원 등의 관점에서 관찰

DW Operations Slicing # cube data in Jan, 2012 revenue_cube[, "1", "2012",] revenue_cube["Tablet", "1", "2012",] cube 차원 순서 : "prod", "month", "year", "loc "

DW Operations Dicing scube <- revenue_cube[c("Tablet","Laptop"), c("CA","NY")] # dicing scube[ , "1", , "CA"] # 작은 size의 cube에서 질의 cube 차원 순서 : "prod", "month", "year", "loc "

DW Operations Roll-up apply(revenue_cube, c("year", "prod"), cube 차원 순서 : "prod", "month", "year", "loc " Roll-up 관찰하고 싶지 않은 차원을 없애기 위해 집계함수(aggregation function) sum 을 이용 예: year, prod, loc 차원에 대해 데이터 관찰 -> loc 차원 없애고, year, prod 차원에 대해 데이터 관찰  apply(revenue_cube, c("year", "prod"), FUN=function(x) {return(sum(x, na.rm=TRUE))}) (n차원) array FUN함수를 적용하게 되는 기준 컬럼

DW Operations Drill-down 차원의 추가 또는 차원 하향 레벨링을 통해 세밀하게 데이타 관찰 예: 각 product에 대한 매년 판매량 관찰 -> 매달 판매량 관찰 apply(revenue_cube, c("year", "month", "prod"), FUN=function(x) {return(sum(x, na.rm=TRUE))})

DW Operations Pivoting 예: year vs. month (또는 month vs. year) 차원에 대한 판매량 관찰 예: product vs. location (또는 location vs. product) 차원에 대한 판매량 관찰 apply(revenue_cube, c("year", "month"), FUN=function(x) {return(sum(x, na.rm=TRUE))}) apply(revenue_cube, c("prod", "loc"), FUN=function(x) {return(sum(x, na.rm=TRUE))})

2014 서울시립대학교 전자전기컴퓨터공학부 김한준 교수 빅데이터 분석 원리 및 분석 실습 교안 2014 서울시립대학교 전자전기컴퓨터공학부 김한준 교수 본 결과물은 교육부의 지원으로 수행한 공학교육혁신사업의 수행결과입니다. This work is financially supported by the Ministry of Education (MOE) through the fostering project of the innovation for Engineering Education.