Multidimensional Fact Table Clustering for Star Query Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Relational database management systems face performance bottlenecks during star queries due to wasteful disk scanning of fact tables, as existing clustering methods focus solely on fact table columns, neglecting the impact of dimension table filter predicates.

Innovation Solution

The database server clusters a fact table based on values from one or more columns of dimension tables, storing rows in sorted order and generating a dimensional zonemap to facilitate I/O pruning, allowing for efficient data retrieval by physically grouping conceptually related rows near each other.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If fact tables are clustered based solely on fact table columns, then the clustering structure is simple, but query performance deteriorates due to wasteful disk scanning when dimension table filter predicates are applied

Engineering Contradiction:
Improveclustering structure complexityVSAvoidquery execution speed
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent extends the clustering approach from one dimension (fact table columns only) to multiple dimensions by incorporating dimension table columns into the clustering key. This multidimensional clustering allows the system to optimize for both simple structure and query performance by creating cluster groups that reflect both fact table data organization and dimension table filter predicates, thereby reducing wasteful disk scanning while maintaining manageable complexity.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Reliability

If all rows in the fact table are scanned to answer star queries, then data retrieval is comprehensive, but disk I/O operations increase unnecessarily

Engineering Contradiction:
Improvedata retrieval completenessVSAvoiddisk I/O operations
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent implements preliminary action by pre-organizing fact table rows into cluster groups based on multidimensional clustering keys that include both fact table and dimension table columns. This pre-grouping allows the query optimizer to identify and access only the relevant cluster groups that contain data satisfying the filter predicates, eliminating the need to scan the entire fact table while ensuring all necessary data is retrieved.

Inventive Principle:
Principle #10Preliminary action

3Ease of manufacture

If conceptually related rows are physically dispersed in the fact table, then data storage is straightforward, but query performance suffers due to increased disk scanning

Engineering Contradiction:
Improvedata storage simplicityVSAvoidquery execution efficiency
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent merges the clustering organization of fact table data with the filtering requirements of dimension tables by combining fact table columns and dimension table columns into a unified multidimensional clustering key. This merging causes conceptually related rows (those that will be retrieved together based on dimension filters) to be physically grouped together in the same cluster groups, improving query execution efficiency while maintaining straightforward storage through automated cluster group management.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS9430550B2Clustering a table in a relational database management system
Publication Date: 2016.08.30 ORACLE INT CORP
  • US9430550B2 patent drawing
  • US9430550B2 patent drawing
  • US9430550B2 patent drawing

AI summary

Techniques are provided that address the problems associated with prior approaches for clustering a fact table in a relational database management system. According to one aspect of the invention, a database server clusters a fact table in a database based on one or more dimension tables. More specifically, rows are stored in the fact table in a sorted order and the order in which the rows are sorted is based on values in one or more columns of one or more of the dimension tables. A user specifies the columns of the dimension tables on which the sorted order is based in “clustering criteria”. The database server uses the clustering criteria to automatically store the rows in the fact table in the sorted order in response to certain user-initiated database operations on the fact-table.