Skip to Main Content
This paper considers the design, implementation, and performance of ADODA with emphasis on aggregate computation. ADODA is a MOLAP data engine for OLAP applications. As embedded software, it features a compact and portable design. A multi-tier structure is devised to store the aggregates and primary data in one single data structure, so that they are accessed in the same way, and they are indistinguishable in the interface to an application. A compression scheme based on a B-tree is described. A formal model for aggregate computation is proposed, within which an aggregation algorithm is introduced and proved to be correct. This algorithm is shown to be applicable to non-compressed and compressed cubes. Since the pre-computation is a bottom-up process, it can stop at any level in any dimension, which is a useful feature for controlling the cost of pre-computation. Performance experiments are described, which aim to demonstrate the feasibility of ADODA for a real life dataset. The aggregation algorithm is also run against synthetic data sets to show the performance trends with increasing sizes of the primary data set and/or the number of dimensions.