Abstract
The data cube is an aggregation operator that computes group-bys for all possible combination of dimension attributes. %on the number of the dimension attributes is n, a data cube computes $2^n$ group-bys. Each group-by in a data cube is called a cuboid. Data cubes are often precomputed and stored as materialized views in data warehouses. These data cubes need to be updated when source relation change. The incremental maintenance of a data cube is to compute and propagate only its changes. To compute the change of a data cube of $2^n$ cuboids, previous works compute a delta cube that has the same number of cuboids as the original data cube. Thus, as the number of dimension attributes increases, the cost of computing a delta cube increases significantly. Each cuboid in a delta cube is called a delta cuboid. In this paper. we propose an incremental cube maintenance method that can maintain a data cube by using only $_nC_{{\lceil}n/2{\rceil}}$ delta cuboids. As a result, the cost of computing a delta cube is substantially reduced. Through various experiments, we show the performance advantages of our method over previous methods.
데이타 큐브는 차원 애트리뷰트의 모든 가능한 조합에 대해 데이타를 집단화하는 연산자이다. 차원 애트리뷰트의 수가 n일 때, 데이타 큐브는 $2^n$개의 group-by를 계산한다. 데이타 큐브에 포함된 각각의 group-by를 큐보이드(cuboid)라 부른다. 데이타 큐브는 흔히 미리 계산되어 형태 뷰(materialized view)의 형태로 데이타 웨어하우스에 저장된다. 이러한 데이타 큐브는 소스 릴레이션이 변경되면 이를 반영하기 위해 갱신되어야 한다. 데이타 큐브의 점진적 관리는 데이타 큐브의 변경될 내용만을 계산하여 이를 데이타 큐브에 반영하는 방법을 의미한다. $2^n$개의 큐보이드로 이루어진 큐브의 변경될 내용을 계산하기 위하여, 기존의 방법들은 데이타 큐브와 동일한 개수의 큐보이드를 가지는 변경 큐브를 계산한다. 따라서, 차원 애트리뷰트의 수가 증가할수록 변경 큐브를 계산하는 비용이 매우 커지게 된다. 변경 큐브에 포함된 각 큐보이드들을 변경 큐보이드(delta cuboid)라 부른다. 본 논문에서는 $2^n$개의 변경 큐보이드 대신 $_nC_{{\lceil}n/2{\rceil}}$개의 변경 큐보이드만을 사용하여 데이타 큐브를 갱신하는 방법을 제안한다. 이에 따라 제안하는 방법은 변경 큐브를 계산하는 비용을 크게 줄일 수 있다. 성능 평가 결과는 제안하는 방법이 기존의 방법에 비해 더 좋은 성능을 가지고 있음을 보여준다.