KR100426001B1 - 데이터 웨어하우스에서 실체 뷰와 차원 계층을 이용한집계 질의의 재작성 방법 - Google Patents

데이터 웨어하우스에서 실체 뷰와 차원 계층을 이용한집계 질의의 재작성 방법 Download PDF

Info

Publication number
KR100426001B1
KR100426001B1 KR10-2000-0077122A KR20000077122A KR100426001B1 KR 100426001 B1 KR100426001 B1 KR 100426001B1 KR 20000077122 A KR20000077122 A KR 20000077122A KR 100426001 B1 KR100426001 B1 KR 100426001B1
Authority
KR
South Korea
Prior art keywords
query
entity
aggregate
rewriting
views
Prior art date
Application number
KR10-2000-0077122A
Other languages
English (en)
Other versions
KR20020046786A (ko
Inventor
박창섭
김명호
이윤준
Original Assignee
한국과학기술원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국과학기술원 filed Critical 한국과학기술원
Priority to KR10-2000-0077122A priority Critical patent/KR100426001B1/ko
Publication of KR20020046786A publication Critical patent/KR20020046786A/ko
Application granted granted Critical
Publication of KR100426001B1 publication Critical patent/KR100426001B1/ko

Links

Abstract

본 발명은 데이터 웨어하우스에서 실체 뷰와 차원 계층을 이용한 집계 질의의 재작성 방법에 관한 것이다. 보다 상세하게는 저장된 대량의 데이터에 대한 복잡한 분석을 처리하는 데이터 웨어하우스 시스템에서 사용자로부터 생성된 집계 질의를 효율적으로 처리함으로써 데이터 웨어하우스 시스템의 성능을 향상시키기 위한 기술에 관한 것이다.
본 발명은 대량의 데이터가 저장되어 있는 데이터 웨어하우스 시스템에서 사용자가 생성한 집계 질의를 데이터 웨어하우스 내에 존재하는 차원 계층과 다수 개의 실체 뷰들을 이용하여 새로운 집계 질의로 재작성하는 방법에 있어서, 상기 차원 계층들로부터 유도되는 그룹 격자를 이용하여 집계 질의와 실체 뷰들에 대해 정규형을 정의하는 단계와; 상기 각 실체 뷰가 주어진 질의의 재작성에 이용 가능한 지의 여부를 검사하는 단계와; 상기 주어진 질의의 재작성에 이용할 실체 뷰들을 선택하는 단계와; 상기 선택된 각 실체 뷰에 대해 질의 블록을 생성하는 단계와; 상기 생성된 질의 블록들을 통합하여 하나의 새로운 질의를 생성하는 단계를 포함하는 데이터 웨어하우스에서 실체 뷰와 차원 계층을 이용한 집계 질의의 재작성 방법이 제시된다.
따라서, 본 발명은 여러 개의 실체 뷰들을 함께 이용하여 본래의 주어진 집계 질의와 같은 결과를 반환하고 시간상 더 빨리 처리될 수 있는 새로운 집계 질의를 생성함으로써 데이터 웨어하우스 시스템의 성능을 크게 향상시킬 수 있다.

Description

데이터 웨어하우스에서 실체 뷰와 차원 계층을 이용한 집계 질의의 재작성 방법{Method for rewriting aggregation queries using materialized views and dimension hierarchies in data warehouses}
본 발명은 데이터 웨어하우스에서 실체 뷰와 차원 계층을 이용한 집계 질의의 재작성 방법에 관한 것이다. 보다 상세하게는 저장된 대량의 데이터에 대한 복잡한 분석을 처리하는 데이터 웨어하우스 시스템에서 사용자로부터 생성된 집계 질의를 효율적으로 처리함으로써 데이터 웨어하우스 시스템의 성능을 향상시키기 위한 기술에 관한 것이다.
일반적으로 데이터 웨어하우스(Data Warehouse)는 여러 이기종 분산 시스템에 저장된 데이터들을 통합하여 저장한 대용량 데이터베이스로서, 기업의 의사 결정 시스템의 기반이 된다. 사용자는 데이터 웨어하우스에 저장된 데이터들로부터 의미있는 정보를 발견하거나 기업의 비즈니스 프로세스에 대한 분석을 수행한다. 이 때, 주로 사용되는 질의들은 대량의 기초 데이터들에 대한 다차원적인 그룹화 및 집계 질의로서 처리 시간이 매우 길며 시스템의 성능에 큰 영향을 미친다.
관계형 데이터베이스 모델을 기반으로 하는 데이터 웨어하우스 시스템에서 이러한 고비용의 집계 질의들을 효율적으로 처리하기 위한 방안으로 자주 발생되는 집계 질의를 미리 실행하여 그 결과를 요약 테이블 즉, 실체 뷰(Materialized View)로 저장해 두고 이를 이용해서 주어진 질의를 처리하는 방법들이 제안되었다.
그러나, 임의의 질의를 처리하는데 기정의된 실체 뷰들을 이용하기 위해서는 그 질의를 실체 뷰들을 이용하여 재작성하는 방법이 필요하다.
기존의 연구들은 주로 일반적인 데이터베이스 시스템의 질의를 대상으로 하고 데이터 웨어하우스와 집계 질의의 여러 가지 특성들을 잘 활용하지 못하기 때문에 데이터 웨어하우스에 존재하는 여러 종류의 서로 다른 집계 뷰들을 효과적으로 이용하지 못하였다.
따라서, 본 발명은 상기한 문제점을 해결하기 위한 것으로서 본 발명의 목적은 데이터 웨어하우스 시스템에서 사용자가 생성한 집계 질의에 대해 그것과 동등한 결과를 반환하면서 여러 개의 실체 뷰들을 이용하여 더 효율적으로 처리될 수있는 새로운 질의를 자동적으로 생성하여 원 질의 대신 처리되도록 함으로써 데이터 웨어하우스 시스템의 성능을 향상시키는 데 그 목적이 있다.
상기한 본 발명의 목적을 달성하기 위한 기술적 사상으로서 본 발명은
대량의 데이터가 저장되어 있는 데이터 웨어하우스 시스템에서 사용자가 생성한 집계 질의를 데이터 웨어하우스 내에 존재하는 차원 계층과 다수 개의 실체 뷰들을 이용하여 새로운 집계 질의로 재작성하는 방법에 있어서,
상기 차원 계층들로부터 유도되는 그룹 격자를 이용하여 집계 질의와 실체 뷰들에 대해 정규형을 정의하는 단계와;
상기 각 실체 뷰가 주어진 질의의 재작성에 이용 가능한 지의 여부를 검사하는 단계와;
상기 주어진 질의의 재작성에 이용할 실체 뷰들을 선택하는 단계와;
상기 선택된 각 실체 뷰에 대해 질의 블록을 생성하는 단계와;
상기 생성된 질의 블록들을 통합하여 하나의 새로운 질의를 생성하는 단계를 포함하는 데이터 웨어하우스에서 실체 뷰와 차원 계층을 이용한 집계 질의의 재작성 방법이 제시된다.
도 1은 하나의 사실 테이블 세일즈(Sales)와 네 개의 차원 테이블 아이템(Item), 상점(Store), 고객(Customer), 시간(Time)으로 구성된 일반적인 데이터 웨어하우스의 예와, 각 차원 테이블에 존재하는 차원 계층의 예를 나타낸 도면
도 2는 도 1의 데이터 웨어하우스의 차원 테이블들 중 상점(Store)과 시간(Time) 테이블에 존재하는 두 차원 계층으로부터 정의되는 그룹 격자를 나타낸 도면
도 3은 본 발명의 질의 재작성 방법이 적용되는 데이터 웨어하우스 시스템의 전체적인 구성을 개략적으로 나타낸 블록도
도 4는 본 발명의 질의 재작성 방법의 절차를 나타낸 흐름도
도 5는 도 1의 데이터 웨어하우스에서 부가적으로 존재하는 세 가지 일반적인 집계 예제 실체 뷰들의 정의를 나타낸 도면
도 6은 도 1의 데이터 웨어하우스에 대한 사용자의 일반적인 집계 질의의예(Q 1)와, 그 질의를 도 5의 실체 뷰들을 이용하여 본 발명의 질의 재작성 방법 중 유니언(UNION) 통합 방법에 의해 재작성한 결과를 나타낸 도면
도 7은 도 6의 재작성 결과로 생성된 질의에 포함된 세 질의 블록의 집계 영역들을 차원 공간 상에 나타낸 도면
도 8은 도 1의 데이터 웨어하우스에 대한 사용자의 일반적인 집계 질의의 예(Q 2)와, 그 질의를 도 5의 실체 뷰들을 이용하여 본 발명의 질의 재작성 방법 중 전체 유니언-그룹에 의한(UNION ALL-GROUP BY) 통합 방법에 의해 재작성한 결과를 나타낸 도면
도 9는 도 7의 재작성 결과로 생성된 질의에 포함된 두 질의 블록의 집계 영역들을 차원 공간 상에 나타낸 도면
도 1은 하나의 사실 테이블 판매(Sales)(10)와 네 개의 차원 테이블 물품(Item)(12), 상점(Store)(14), 고객(Customer)(16), 시간(Time)(18)으로 구성된 일반적인 데이터 웨어하우스의 예와, 각 차원 테이블에 존재하는 차원 계층의 예를 나타낸 것이다.
본 발명에서 고려하는 데이터 웨어하우스는 도 1의 예제 데이터 웨어하우스와 같이 하나의 사실 테이블과 여러 개의 차원 테이블들로 이루어진 스타 스키마(star schema) 구조를 갖는다. 사실 테이블은 주 키 속성, 각 차원 테이블에 대한 외래 키 속성들, 그리고 집계 연산의 대상이 되는 측정 속성들로 구성된다.
사실 테이블에 저장된 레코드들을 기초 데이터라 부른다. 차원 테이블은 차원 계층에 포함되는 차원 속성들과, 그렇지 않은 비차원 속성들로 구성된다. 각 차원 테이블에는 하나의 차원 계층이 존재한다. 차원 계층은 차원 테이블에 포함된 차원 속성들의 부분 집합인 차원 레벨(level)들의 순서화된 집합이다. 인접한 두 차원 레벨 사이에는 함수적 종속 관계가 존재한다.
차원 계층의 각 차원 레벨은 그 차원에 대해 기초 데이터들이 그룹화될 수 있는 기준이 된다. 모든 차원 계층들을 카티젼 프로덕트(Cartesian product) 한 결과는 각 차원 계층에 속한 차원 레벨들의 순서화된 집합들로 이루어진 부분적으로 순서화된 집합이다. 즉, 이 집합의 원소들 사이에는 부분 순서 관계가 존재하며, 그 관계에 의해 이 집합은 하나의 격자 구조로 표현될 수 있다. 본 발명에서는 이것을 그룹 격자라 명명한다.
도 2는 도 1의 예제 데이터 웨어하우스의 차원 테이블들 중 상점(Store)(14)과 시간(Time)(18) 테이블에 존재하는 두 차원 계층의 카티젼 프로덕트 연산 결과로부터 유도되는 그룹 격자의 예를 나타낸 것이다.
본 발명에서 재작성의 대상으로 고려하는 집계 질의는 중첩이 없는 단일 블록 집계 질의로서 일반적으로 선택 속성 집합, 선택 술어, 그룹화 속성 집합, 프로젝션 속성 집합, 집계 함수로 기술된다. 본 발명에서는 이러한 집계 질의Q를 다음과 같은 정규형으로 표현한다.
SG는 질의의 선택 단위로서, 질의의 선택 술어에 나타나는 속성들의 집합인 선택 속성 집합에 대응되는 그룹 격자상의 한 노드(node), 즉, 각 차원의 특정 차원 레벨들의 순서화된 집합이다.
R은 질의의 선택 술어로부터 유도되는 선택 영역이다. 질의의 선택 술어는 선택 속성들에 대한 비교 술어들의 부울(Boolean) 결합이다. 비교 술어는aopc의 형태를 가지는데,a는 차원 속성,c는 상수, 그리고 op는 집합의 원소이다. 이러한 선택 술어는 논리합 정규형(conjunctive normal form)으로 변환될 수 있다.
이 때, 각 논리곱 요소는 기하학적으로 선택 단위로부터 형성되는 다차원 공간상의 하나의 하이퍼-사각형(hyper-rectangle)으로 표현될 수 있다. 즉, 선택 술어는 이러한 하이퍼-사각형들의 집합으로 표현될 수 있으며, 이 집합을 질의의 선택 영역이라 명명한다. 각 하이퍼-사각형은 선택 술어에 포함된 차원 레벨 값의 구간들의 순서화된 집합으로 표현된다. 구간은 개구간, 폐구간, 또는 반폐구간이 될 수 있다. 구간의 한계 값이 없는 경우는 -∞ 또는 +∞ 를 이용하여 표기한다.
AG는 질의의 집계 단위로서, 질의의 집계의 기준이 되는 속성들의 집합인 그룹화 속성 집합에 대응되는 그룹 격자상의 한 노드(node), 즉, 각 차원의 특정 차원 레벨들의 순서화된 집합이다.
AGG는 질의에 포함된 집계 함수들의 집합으로서, MIN, MAX, SUM, COUNT 등이 될 수 있다.
HAVAG에 포함된 속성이나AGG에 포함된 집계 함수들에 대한 비교 술어들의 논리식으로서, SQL로 작성된 질의에서 HAVING 절의 조건식을 의미한다. 이러한 조건식이 없는 경우에는 NULL로 표기한다.
질의의 프로젝션 속성 집합은 질의의 결과로 선택되는 속성들의 집합으로서, 그룹화 속성 집합과 동일하므로 정규형에 포함되지 않는다.
SG(Q),R(Q),AG(Q),AGG(Q),HAV(Q)는 각각 질의QSG,R,AG,AGG,HAV를 의미한다.
본 발명에서 질의 재작성에 이용하는 실체 뷰는 정규형 질의의 결과를 하나의 요약 테이블로 저장한 것이다. 단, 실체 뷰의 효용성을 고려하여 다음과 같은 두 조건을 만족하는 실체 뷰들만 대상으로 한다.
첫째, SGAG을 만족해야 한다. 이 경우 실체 뷰의 각 그룹의 집계 값들은 사실 테이블 내의, 그 그룹에 속하는 모든 기초 데이터들에 대한 집계 결과를 반영한다. 둘째, 집계 결과에 대한 조건, 즉, SQL 질의에서 HAVING절에 해당되는 조건을 갖지 않는다. 실체 뷰의 정규형은MV(SG,R,AG,AGG)로 표현되고, 각 요소들은 질의의 정규형과 유사하게 정의된다.
질의Q가 주어졌을 때, 어떤 질의이 임의의 데이터베이스에 대해Q와같은 결과를 계산하고,이 어떤 질의 블록의 FROM 절에 실체 뷰MV를 포함하면, 을 MV를 이용한Q의 재작성된 질의라 부른다. 또, 이러한 재작성된 질의가 존재하면,MV가 질의Q를 재작성 하는데 이용 가능하다라고 한다.
도 3은 본 발명의 질의 재작성 방법이 적용되는 데이터 웨어하우스 시스템의 전체적인 구성을 개략적으로 나타낸 블록도이다.
도 3를 간략히 살펴 보면, 사용자에 의해 주어진 집계 질의Q를 재작성하여 처리하기 위한 데이터 웨어하우스 시스템에서 질의 처리기(20)에는 집계 질의 재작성하기 위한 질의 재작성기(22)와, 재작성된 집계 질의를 최적화하기 위한 질의 최적화기(24)가 구비되어 있다. 이 때, 상기 질의 재작성기(22)에는 차원 계층, 실체뷰 정보, 기타 메타정보가 저장되어 있는 메타정보저장소(26)가 연결되어 있으며, 상기 질의 최적화기(24)에는 사실 테이블, 실체뷰에 관한 대량의 데이터가 저장되어 있는 데이터 웨어하우스(28)와 연결되어 있다.
이어서, 사용자에 의해 주어진 집계 질의Q를 여러 가지 정규형 실체 뷰들을 이용하여 재작성하는 본 발명의 질의 재작성 절차는 도 4와 같다.
단계 1 (S100)은 질의Q를 상기한 정규형으로 변환하는 단계이다.
단계 2 (S110)는 질의Q를 재작성하는데 이용 가능한 실체 뷰들을 찾기 위해 각 실체 뷰에 대해 이용가능성 검사를 실시하는 단계이다. 어떤 실체 뷰MVQ의 재작성에 이용 가능하기 위해서는Q의 집계 그룹들의 전체 혹은 일부분을 계산할 수 있어야 하며, 이러한 이용 가능성 조건은 다음과 같이 기술된다.
상기의 조건들을 만족하는 실체 뷰를 후보 실체 뷰라고 부르고, 그것들의 집합을C(Q)라 표기한다.
단계 3 (S120)은 후보 실체 뷰 집합C(Q)로부터 질의 재작성에 실제로 이용될 실체 뷰들을 선택하고 각각의 질의 영역을 결정하는 단계이다.
주어진 집계 질의Q는 후보 실체 뷰들 중의 일부를 이용하여 재작성된다. 일반적으로 실체 뷰MV i 를 이용하여 재작성된 질의는MV i 에 속한 레코드들 중 특정 선택 술어를 만족하는 레코드들을 선택하여 집계한다. 이 선택 술어는 그룹 격자의 한 선택 단위 상에서 정의되는 선택 영역으로 표현될 수 있는데, 이 선택 영역을MV i 에 대한 질의 영역이라 부르고,QR(MV i )로 표기한다. 선택된 모든 실체 뷰들의 질의 영역들은 서로 겹치지 않는 분리된 영역이면서, 그 합집합이 질의의 선택 영역과 일치해야 한다.
일반적으로 서로 다른 후보 실체 뷰들을 포함하는 여러 개의 동치 재작성 질의들이 존재한다. 이러한 재작성 질의들은 그 실행 비용이 서로 다르므로 가능한 한 효율적으로 실행될 수 있는 재작성 질의를 구성하도록 실체 뷰들을 선택하고 그것들의 질의 영역을 결정해야 한다.
본 방법에서는 비교적 빠른 시간 내에 효율적인 해를 찾기 위해 다음과 같은 그리디(greedy) 경험 기법을 사용한다. 이 기법은 후보 실체 뷰들의 집합에서 실체뷰를 하나씩 선택하되, 매 선택 시 이득 척도를 이용하여 선택되지 않은 나머지 뷰들의 이득을 계산한 후 이득이 가장 큰 것을 선택한다. 이득 척도는 임의의 선택 영역QR에 대한 각 실체 뷰MV의 이득을 나타내며 다음과 같이 정의된다. 이 척도는QR(MV)를 선택 영역으로 하는 사실 테이블에 대한 질의와MV에 대한 질의의 실행 비용의 차를 의미한다.
상기 기법의 수행 과정의 어느 시점에서 이미 선택된 실체 뷰들의 집합을S P 라 할 때, 새로 선택된 실체 뷰MV i 의 질의 영역은 다음과 같이 결정된다.
단계 4 (S130)에서 선택된 각 실체 뷰MV마다 그것의 질의 영역을 이용하여 하나의 질의 블록QB(MV)을 생성하는 단계이다. 질의 블록QB(MV)는 사실 테이블에 대한 다음과 같은 정규형 질의와 동치이되, 사실 테이블 대신MV를 이용하여 정의되어야 한다.
Q MV (SGMVQRMV AGQ AGGQ HAVQ
Q MV 의 선택 단위SG MV QR(MV)의 선택 단위와 동일하다.MV에 포함된 차원속성은AG(MV)에 속한 속성들이므로,SG(Q MV )와AG(Q MV )의 모든 속성들이AG(MV)에 포함되지 않으면R(Q MV )에 대한 선택이나AG(Q MV )에 대한 그룹화 및 집계를 수행하기 위해MV와 차원 테이블 사이의 조인(join) 연산이 필요하다.
이 때, 만일 조인 속성이 차원 테이블의 주 키가 아니면, 조인된 레코드의 중복을 피하기 위해 먼저 차원 테이블에 대한 중복-제거 선택 질의 블록을 생성하고 이것과 조인을 수행해야 한다.R(Q MV )에 대응되는 선택 술어 중 내포된 질의 블록에 대한 차원 선택 술어는 그 블록 내에 포함될 수 있으며, 나머지 차원 선택 술어들은 바깥 쪽 블록에 포함된다.
상술한 바에 같이 실체 뷰MV에 대한 질의 블록QB(MV)는 다음과 같이 정의된다.
SELECT P, AGG
FROM R
WHERE JC, SC
GROUP BY G
HAVING HC
P는 집계 속성들의 집합으로서 질의Q의 선택 단위AG(Q)와 동일하다.
AGG는 집계 함수들의 집합으로서, 만일AG(Q) >AG(MV) 이면,AGG(Q)에 속하는 각 집계 함수agg(m)에 대해을 포함한다.agg(m)의 결과에 해당하는MV내의 속성이고,agg가 MIN, MAX, 또는 SUM이면agg와 동일하고,agg가 COUNT이면 SUM이다. 만일AG(Q) =AG(MV) 이면,AGG(Q)에 속하는 각 집계 함수agg(m)에 대해 그 결과에 해당하는MV내의 속성인을 포함한다.
R은 질의 블록에 포함되는 테이블들의 집합으로서, 다음과 같은 세 가지 종류의 요소들로 구성된다.
1) 실체 뷰MV
2) 어떤 속성이SG(QR(MV))나AG(Q)에 속하면서AG(MV)에는 포함되지 않고,AG(MV)가 그것의 주 키 애트리뷰트를 포함하는 차원 테이블DT i
3) 어떤 속성이SG(QR(MV))나AG(Q)에 속하면서AG(MV)에는 포함되지 않고,AG(MV)가 그것의 주 키 애트리뷰트를 포함하지 않는 차원 테이블DT j 에 대해, 중복-제거 선택을 수행하는 내포 부질의 블록NB j
JC는 R에 속한MVDT i 사이, 그리고MVNB j 사이의 조인 조건으로서,AG(MV)에 속한 속성들에 대한 일치 조건들의 논리곱 조건식이다.
SC는 선택 조건으로서,QR(MV)로부터 유도되는 차원 선택 술어들의 논리곱 조건식이다.
G는 집계 단위로서,AG(Q) >AG(MV) 인 경우에만 필요하며,AG(Q)와 동일하다.
HC는 집계 결과에 대한 조건으로서,HAV(Q) ≠NULL이고SG(MV) >AG(Q) 인경우에만 필요하며,HAV(Q)로부터 유도되는, P와 AGG에 대한 논리식이다.
단계 5 (S140 ∼ S170)는 상기 단계 4 (S130)에서 생성된 질의 블록들을 하나의 재작성 질의로 통합하는 단계이다. 만일 단계 3 (S120)에서 하나의 실체 뷰만 선택된 경우에는 생성한 질의 블록이 재작성의 최종 결과가 된다. 그렇지 않은 경우에는 질의 블록들을 통합하여 하나의 재작성된 질의를 생성한다(단계 S170).
단계 3 (S120)에서 선택된 실체 뷰들은 질의Q의 집계 단위(AG)와 각 실체 뷰의 선택 단위(SG)의 관계에 따라 두 종류로 구분된다.(단계 S140)
즉,SG(MV) AG(Q)를 만족하는 실체 뷰MV들은Q의 일부 혹은 모든 그룹들의 집계를 계산할 수 있으므로 그 질의 블록들은 유니언(UNION) 연산자를 사용하여 하나의 UNION 다중 블록 질의로 통합한다(단계 S150).
그렇지 않은 실체 뷰들은 각각은Q의 한 그룹의 집계를 계산하지 못할 수도 있으나 전체 뷰들은Q의 각 그룹들의 집계를 계산할 수 있다. 따라서 그 질의 블록들은 UNION ALL로 연결한 후AG(Q)를 이용한 GROUP BY 를 수행하는 UNION ALL-GROUP BY 질의로 통합한다(단계 S160).
이러한 경우HAV(Q)가 NULL이 아니면HAV(Q)를 포함한 HAVING 절이 필요하다. 또한에 속하는 집계 함수은 질의의 집계 함수agg(m)이{MIN, MAX, SUM}인 경우에는agg'=agg이고,agg= COUNT 인 경우에는agg'= SUM 이 된다. 마지막으로 이 두 결과를 UNION 연산자를 통해 통합함으로써 하나의 재작성된 질의를 생성한다.(단계 S170)
즉,SG(MV) AG(Q)를 만족하는 실체 뷰들의 집합을S 1= {MV 11,MV 12, ...,MV 1 m } 그렇지 않은 실체 뷰들의 집합을S 2= {MV 21,MV 22, ...,MV 2 n }라 할 때, 최종 질의는 다음과 같은 형태를 갖는다.
(QBMV11QBMV12 QBMV1m
UNION
(SELECTAG(Q),
FROM (QB(MV 21) UNION ALLQB(MV 22) UNION ALL...UNION ALLQB(MV 2 n ))
GROUP BYAG(Q)
HAVINGHAV(Q))
상술한 바와 같이 본 발명의 질의 재작성 방법은 이 기술 분야에 숙련된 사람들에 의해 첨부된 도면을 참조하여 후술되는 발명의 바람직한 실시 예로부터 더욱 명확하게 구현할 수 있다.
도 5는 도 1의 예제 데이터 웨어하우스에서 부가적으로 존재하는 세 가지 실체 뷰의 정의를 도시하는 도면이다. 이 세 실체 뷰를 정규형으로 표현하면 다음과 같다.
도 6은 도 1의 데이터 웨어하우스에 대한 사용자의 집계 질의Q 1과, 그 질의를 도 5의 실체 뷰들을 이용하여 본 발명의 질의 재작성 방법 중 UNION 통합 방법을 적용하여 재작성한 결과를 도시하는 도면이다. 상술한 질의 재작성 방법에 따른 각 단계의 결과는 다음과 같다.
단계 1에서Q 1을 정규형으로 표현하면 다음과 같다.
단계 2에서 각 실체 뷰의 이용 가능성 검사 결과 세 실체 뷰 모두 상술한 조건을 만족하므로 세 실체 뷰는 모두 후보 실체 뷰이다.
단계 3에서 실제로 이용될 실체 뷰의 선택 결과MV 1,MV 2,MV 3순서로 선택되고, 각각의 질의 영역은 다음과 같이 결정된다.
도 7은 도 6의 재작성 결과로 생성된 질의에 포함된 세 질의 블록의 집계 영역들을 차원 공간 상에 나타낸 도면이다.
단계 4에서MV 1에 대한 질의 블록QB(MV 1)의 각 구성 요소들은 다음과 같이결정된다.
P = {state, year}
AGG = {sum_dollar1}:AG(MV 1) =AG(Q 1) 이므로 SUM(sales_dollar)가MV 1의 속성 sum_dollar1으로 치환된다.
R = {MV 1,NB(Store)}: 상점(Store) 차원 테이블에 대해 ,AG(MV 1) = {state}{nation} =SG(QR(MV 1)) 이고,AG(MV 1) = {state}{store_id} 이므로, 상점(Store) 차원 테이블에 대한 내포 부질의 블록NB(Store)가 필요하다. 상점(Store) 차원 테이블에 대해,AG(MV 1) =AG(Q 1) = {state}이고QR(MV 1)의 선택 조건이 " nation = 'USA' OR nation = 'CANADA' " 이므로,NB(Store)는 다음과 같이 정의된다.
(SELECT DISTINCT state
FROM Store
WHERE nation='USA' OR nation='CANADA')NB 1
시간(Time) 차원 테이블의 경우,AG(MV 1) =SG(QR(MV 1)) =AG(Q 1) = {year}이므로 시간(Time) 차원 테이블은 R에 포함되지 않는다.
JC = "MV 1.state =NB 1.state"
SC = "year ≤ 1999": Time에 대한QR(MV 1)의 선택 조건은 "year ≥ 1997 AND year ≤1999" 이나 "year ≥ 1997"이 이미R(MV 1)에 포함되어 있으므로 제외된다.
AG(MV 1) =AG(Q 1),HAV(Q 1) = NULL 이므로 GROUP BY 절과 HAVING 절은 필요없다.
따라서,MV 1에 대한 질의 블록은 다음과 같이 결정된다.
FROM MV1, (SELECT DISTINCT state
FROM Store
WHERE nation = 'USA'OR nation = 'CANADA') NB1
WHERE MV1.state = NB1.state AND year ≤ 1999
MV 2MV 3에 대한 질의 블록들도 같은 방법으로 생성될 수 있으며, 그 결과는 도 6의내에 포함된 두 번째 및 세 번째 블록과 같다.
단계 5에서MV 1,MV 2,MV 3는 각각SG(MV 1) >AG(Q 1),SG(MV 2) >AG(Q 1),SG(MV 3) >AG(Q 1)을 만족한다. 따라서,MV 1,MV 2,MV 3의 각 질의 블록들을 UNION으로 연결하여 하나의 UNION 다중 블록 재작성 질의를 생성할 수 있다. 그 결과는 도 3의같다.
도 8은 도 1의 데이터 웨어하우스에 대한 또 다른 집계 질의Q 2와, 그 질의를 도 5의 실체 뷰들을 이용하여 본 발명의 질의 재작성 방법 중 UNION ALL-GROUP BY 통합 방법을 적용하여 재작성한 결과를 도시하는 도면이다. 상기 예에서Q 2의 재작성 단계 3에서 선택된 실체 뷰는MV 1,MV 3이다.
도 9는 상기 두 실체 뷰에 대한 두 질의 블록의 집계 영역들을 차원 공간 상에 도시하는 도면이다. 이 두 실체 뷰는 각각SG(MV 1) <>AG(Q 2) 와SG(MV 3) <>AG(Q 2)을 만족한다. 따라서,같이,MV 1,MV 3의 각 질의 블록들을 하나의 UNION ALL-GROUP BY 질의로 통합하여 재작성된 질의를 생성할 수 있다.
이상에서와 같이 본 발명에 의한 데이터 웨어하우스에서 실체 뷰와 차원 계층을 이용한 집계 질의의 재작성 방법에 따르면 데이터 웨어하우스 시스템에서 주어진 집계 질의에 대해 그것과 동등한 결과를 반환하면서 여러 개의 실체 뷰들을 이용하여 더 효율적으로 처리될 수 있는 새로운 질의를 생성함으로써 데이터 웨어하우스 시스템의 성능을 향상시키는 효과가 있다.

Claims (5)

  1. 사용자가 생성한 집계 질의를 데이터 웨어하우스 내에 존재하는 차원 계층과 다수 개의 실체 뷰들을 이용하여 새로운 집계 질의로 재작성하는 방법에 있어서,
    상기 차원 계층들로부터 유도되는 그룹 격자를 이용하여 집계 질의와 실체 뷰들에 대해 정규형을 정의하는 단계와;
    상기 각 실체 뷰가 주어진 질의의 재작성에 이용 가능한 지의 여부를 검사하는 단계와;
    상기 주어진 질의의 재작성에 이용할 실체 뷰들을 선택하는 단계와;
    상기 선택된 각 실체 뷰에 대해 질의 블록을 생성하는 단계와;
    상기 생성된 질의 블록들을 통합하여 하나의 새로운 질의를 생성하는 단계를 포함하는 것을 특징으로 하는 집계 질의의 재작성 방법.
  2. 청구항 1에 있어서, 상기 집계 질의와 실체 뷰 사이의 관계를 판별하기 위한 과정은 차원 계층들로부터 유도되는 그룹 격자를 이용하여 집계 질의와 실체 뷰의 정규형을 정의하는 것을 특징으로 하는 집계 질의의 재작성 방법.
  3. 청구항 1에 있어서, 상기 집계 질의와 실체 뷰의 정규형을 구성하는 요소들 사이의 관계로 정의되는 하기의 조건식에 의해 실체 뷰가 집계 질의의 재작성에 이용 가능한지의 여부를 검사하는 것을 특징으로 하는 집계 질의의 재작성 방법.
    이 때, 상기 R: 선택 영역, AG: 질의의 집계단위, SG: 질의의 선택단위, AGG: 질의에 포함된 집합 함수들의 집합, MV: 실제 뷰, Q : 질의를 나타낸다.
  4. 청구항 1에 있어서, 상기 생성된 질의 블록들을 통합하여 하나의 새로운 질의를 생성하는 단계에서 실체 뷰의 선택 단위와 질의의 집계 단위 사이의 관계에 따라 UNION 연산을 이용하는 UNION 통합 방법과, UNION ALL 및 GROUP BY 연산을 이용하는 UNION ALL-GROUP BY 통합 방법 중에 조건 SG(MV)≥AG(Q)에 의해 선택되는 하나에 의해 질의 블록 통합방법이 결정되는 것을 특징으로 하는 집계 질의의 재작성 방법.
  5. 청구항 1에 있어서, 상기 주어진 질의의 재작성에 이용할 실체 뷰들을 선택하는 단계에서는 후보 실체 뷰들의 집합에서 실체 뷰들을 하나씩 선택하되 매 선택 시 남아있는 질의 선택 영역에 대한 사실 테이블과 각 실체 뷰의 실행 비용의 차를 나타내는 하기의 이득 척도식을 이용하여 선택되지 않은 나머지 실체 뷰들의 이득을 계산한 후 이득이 가장 큰 것을 선택하는 것을 특징으로 하는 집계 질의의 재작성 방법.
    이 때, 상기는 각 실체 뷰를 나타내고, 상기는 임의의 선택 영역을 나타낸다.
KR10-2000-0077122A 2000-12-15 2000-12-15 데이터 웨어하우스에서 실체 뷰와 차원 계층을 이용한집계 질의의 재작성 방법 KR100426001B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2000-0077122A KR100426001B1 (ko) 2000-12-15 2000-12-15 데이터 웨어하우스에서 실체 뷰와 차원 계층을 이용한집계 질의의 재작성 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2000-0077122A KR100426001B1 (ko) 2000-12-15 2000-12-15 데이터 웨어하우스에서 실체 뷰와 차원 계층을 이용한집계 질의의 재작성 방법

Publications (2)

Publication Number Publication Date
KR20020046786A KR20020046786A (ko) 2002-06-21
KR100426001B1 true KR100426001B1 (ko) 2004-04-03

Family

ID=27682299

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2000-0077122A KR100426001B1 (ko) 2000-12-15 2000-12-15 데이터 웨어하우스에서 실체 뷰와 차원 계층을 이용한집계 질의의 재작성 방법

Country Status (1)

Country Link
KR (1) KR100426001B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100993817B1 (ko) * 2007-12-21 2010-11-12 한국과학기술정보연구원 정보 분석 시스템 및 그 방법

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100496159B1 (ko) * 2002-06-29 2005-06-20 주식회사 케이티 유용성 기반의 질의 결과 캐쉬 관리 방법
KR20040034289A (ko) * 2002-10-17 2004-04-28 주식회사 지앤 참조 무결성 제약 조건을 이용하여 데이터 웨어하우스내의실체뷰에 대한 일관성 관리를 병렬 처리하는 기법
CN111104453A (zh) * 2019-12-18 2020-05-05 深圳市中农易讯信息技术有限公司 数据的查询方法、装置、终端及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10260990A (ja) * 1997-03-18 1998-09-29 Nippon Telegr & Teleph Corp <Ntt> 例示検索の高速化方法
KR20000059547A (ko) * 1999-03-05 2000-10-05 윤덕용 압축된 히스토그램 정보를 사용한 다차원 선택율 추정 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10260990A (ja) * 1997-03-18 1998-09-29 Nippon Telegr & Teleph Corp <Ntt> 例示検索の高速化方法
KR20000059547A (ko) * 1999-03-05 2000-10-05 윤덕용 압축된 히스토그램 정보를 사용한 다차원 선택율 추정 방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Materialized View Selection in a Data Warehouse(2000.6.21~23) *
Materialized View Selection in a Multidimensional Database(1997) *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100993817B1 (ko) * 2007-12-21 2010-11-12 한국과학기술정보연구원 정보 분석 시스템 및 그 방법

Also Published As

Publication number Publication date
KR20020046786A (ko) 2002-06-21

Similar Documents

Publication Publication Date Title
CA2326513C (en) Processing precomputed views
US6513029B1 (en) Interesting table-subset selection for database workload materialized view selection
US6356891B1 (en) Identifying indexes on materialized views for database workload
US6356890B1 (en) Merging materialized view pairs for database workload materialized view selection
US7716167B2 (en) System and method for automatically building an OLAP model in a relational database
JP3640346B2 (ja) データベース管理システムにおける集合述部および検索
US6529896B1 (en) Method of optimizing a query having an existi subquery and a not-exists subquery
Baralis et al. Materialized view selection in a multidimensional database
US7945557B2 (en) Method, system, and program for query optimization with algebraic rules
US20070061287A1 (en) Method, apparatus and program storage device for optimizing a data warehouse model and operation
US8078652B2 (en) Virtual columns
Golfarelli et al. myOLAP: An approach to express and evaluate OLAP preferences
US20050198008A1 (en) Index exploitation for spatial data
Chen et al. Efficient computation of multiple group by queries
Johnson et al. Hierarchically split cube forests for decision support: description and tuned design
KR100426001B1 (ko) 데이터 웨어하우스에서 실체 뷰와 차원 계층을 이용한집계 질의의 재작성 방법
US20220012242A1 (en) Hierarchical datacube query plan generation
Spyratos A functional model for data analysis
Phuboon-ob Materialized View Selection Using Two-Phase Optimization Algorithm
Mishra Performance evaluation and analysis of SQL-based approaches for association rule mining
Schwarz et al. Improving the processing of decision support queries: strategies for a DSS optimizer
Naydenova Regular sparsity map
Bizarro et al. The Dimension-Join: A New Index for Data Warehouses.
Golfarelli et al. Comparing nested GPSJ queries in multidimensional databases
Lee et al. Using relational database constraints to design materialized views in data warehouses

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20100225

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee