Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chapter 15 aggregates 서울시립대학교 인공지능연구실 홍성학.

Similar presentations


Presentation on theme: "Chapter 15 aggregates 서울시립대학교 인공지능연구실 홍성학."— Presentation transcript:

1 Chapter 15 aggregates 서울시립대학교 인공지능연구실 홍성학

2 Index Aggregates Fundamentals of Aggregates
Summarizing Base Data Using Aggregates Loading Aggregates Cubes as Aggregates Making Aggregates Invisible Aggregate Navigation Aggregate Generation Alternative Summary Designs Transformative Summaries May Also Be Useful Single Table Designs Should Be Avoided

3 Aggregates Data warehouse 의 performance 를 향상 시키기 위한 가장 강력한 방법
Aggregate schema는 Summarizing data 를 통해 data warehouse의 performance 향상 Original schema 와 일관된 query result 제공

4 Fundamentals of Aggregates
Summarizing Base Data Storage of Pre-summarized Data in an Aggregate Pre-summarized 된 dimensional aggregate를 통해 query performance 를 향상 Reading data, sorting, join, sum 등의 소요 시간을 줄임 Describing the Aggregate Fact table 의 grain 을 통해 aggregate schema 를 describing Conformance Aggregate star 를 구성할 때, base star 의 attribute, name, business meaning 과 같은 structure 와 content 를 공유하여 구성  Aggregate table 은 original schema 와 같은 query result 제공  Query 작성 시 일정한 형식으로 접근 가능 Delivering Benefit Aggregate schema 는 query 를 최적화 하기 위한 grain 을 완전히 충족시키지 않아도 됨 Single aggregate 는 모든 query 에 대해 performance benefit 을 주지 않기 때문에 multiple aggregate 를 구성하여 사용

5 Fundamentals of Aggregates
Summarizing Base Data

6 Fundamentals of Aggregates
Using Aggregates Writing Queries Aggregate star 와 base star 의 Conformance 를 통해 매우 비슷한 Structure 와 Content 를 가지고 있기 때문에 Query 작성 시 비슷한 방법을 가지고 접근 가능

7 Fundamentals of Aggregates
Using Aggregates Determining Which Star to Query Aggregates 를 사용할 때, Query 작성 시 어떤 Star 를 선택할 지 정해야 함 절절한 Star 를 정하기 위해서 어떤 정보가 필요하고, 어떤 Star 가 어떤 정보를 제공하는지를 이해하는 것이 필요 Novice developer, End user, ad hoc user 는 적절한 Star 를 고르기 어려움 Eg. First quarter of 2009.

8 Fundamentals of Aggregates
Using Aggregates Determining Which Star to Query End user 와 novice developer 는 aggregates star 에 대한 access 권한을 experienced developer 에게 제공하여 query 에 대한 알맞은 star 선택을 피함  특정 aggregate 를 사용하여 hard-coded 되었기 때문에 모든 상황에서 optimal 하지는 않음

9 Fundamentals of Aggregates
Loading Aggregates Source of an Aggregates Aggregates 에 사용할 Query 를 간단히 하기 위해서 Dimension table 에 conformed roll-up 필요 Base dimension table 을 먼저 load 하고 conformed roll-up Fact table 도 마찬가지 원리로 base fact table 을 먼저 load 한 뒤 aggregate

10 Fundamentals of Aggregates
Loading Aggregates Type1 Changes Base data 와 aggregate 가 순차적으로 load 될 때, type 1 change 가 발생하면 aggregates 를 완전히 다시 load 해야 할 수 있음 Order fact table 에서 product manager 가 변경 될 경우 :

11 Fundamentals of Aggregates
Loading Aggregates Type1 Changes Product manager 의 변경으로 인해 aggregate table 의 이전 order summarize 를 조정해야 함 4단계 load 를 할 경우 4단계에 도달할 때까지 변경 사항을 알지 못할 수 있음 1단계에서 변경이 발생할 경우 이 사실을 공지 또한, 이전 product manager 에 대한 주문을 차감해야 함 1단계에서 업데이트 되었으므로 dimension table 에서 찾을 수 없음 Base schema 가 update 될 경우 aggregate 를 drop 후 re-create Type 2 Change 사용

12 Fundamentals of Aggregates
Cubes as Aggregates Cubes Summarizing Cubes Cube 는 high-performance data structure 이기 때문에 summarizing 을 해도 performance 에 큰 향상이 없음 Dimension 이 늘어날수록 cube 는 점점 더 커지기 때문에 summarizing 을 통해 이를 해결 가능 Cubes Summarizing Stars Star 의 scale 에 대한 장점과 Cube 의 performance 에 대한 장점 활용 Star 에 granular data, detail data 를 저장 Star 를 바탕으로 summarize data 를 Cube 에 저장하여 사용

13 Making Aggregates Invisible
user 는 soft ware tool 을 통해 위 두가지를 자동으로 제공 받음

14 Making Aggregates Invisible
Aggregate Navigation Report 를 위한 Query 에 대해 어떤 Star 를 사용할지 결정 Aggregate navigation function 은 자동으로 적절한 aggregate 에 대한 Query로 redirecting  Query 를 작성하는 사람은 aggregate 의 존재와 aggregate 가 적절한지 확인 할 필요가 없음

15 Making Aggregates Invisible
Aggregate Navigation 자동으로 query 를 rewrite 하기위해 필요한 정보 Aggregate star 의 해당 Base star 와 level of detail 각 fact table 이 포함하는 row 의 개수 Other Benefits Changing Aggregates at will Aggregates 가 추가되거나 삭제 될 경우 aggregate navigator 가 알 수 있음 Placing Aggregates Online and Offline Aggregates 를 rebuild or refresh 할 때 잠시 offline 상태로 두어 stop working 방지 Offline 상태 일 경우 directing 을 취소 / Online 상태 일 경우 다시 redirecting Heterogeneous Databases 다양한 종류의 database , 다양한 언어의 SQL 사용 가능 Heterogeneous Front Ends 다양한 종류의 front-end 제공 가능

16 Making Aggregates Invisible
Aggregate Generation 자동으로 aggregates 를 generate, maintain Aggregate generation tool 은 concept of facts, dimensions, surrogate keys, natural keys, slow change 에 대해 이해하여 aggregates or cube 를 생성 보통의 tools 는 aggregation 할 수 있는 구체화된 query table 제공 충분한 information 이 있으면 DBMS 에서 자동으로 maintain 되는 aggregates or cube 생성 가능

17 Making Aggregates Invisible
Aggregate Generation Hierarchies and Aggregates 많은 tools 은 dimension table 의 hierarchies 를 통해 aggregates table or cube 를 generate Dimension hierarchies 가 명시적인 방법으로 표현되면 aggregate 는 포함 될 주위에 원을 그리는 것으로 정의 할 수 있음 Cube 를 generate 할 때는 추가적으로 subset of attributes 에 대한 information 필요 eg. Brand code, brand name, brand manager in brand level

18 Alternative Summary Designs
Transformative Summaries May Also Be Useful Snapshot, accumulating snapshot 과 같은 transform dimensional structure 는 특정 report 를 더 쉽게 만들 수 있음 Derived star 또한 original data set 을 summarize 하지만 aggregate schema 를 고려하지 않음 Original table 을 summarize 하는 것이 아니고 structure 가 달라지기 때문에 aggregates X  eg. Greater than $500 = order_dollars -> high_value_order_dallors

19 Alternative Summary Designs
Single Table Designs Should Be Avoided Single Table 에 detail data 와 summarized data 를 함께 저장하는 것은 problem 야기 Eg1. Null value -> special row Eg2. double count -> constraining the level column in every query


Download ppt "Chapter 15 aggregates 서울시립대학교 인공지능연구실 홍성학."

Similar presentations


Ads by Google