Multi-Level Partitioning Star Schema Fact Tables

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Selecting optimal columns for multi-level partitioned primary indexes (MLPPI) in star schema databases is challenging due to the large number of possible fields and the need to balance granularity with potential overhead, as fine-grained partitions reduce I/O but can increase optimization and execution overhead, while coarse-grained partitions may result in unnecessary data access.

Innovation Solution

A method that preprocesses inputs to produce a most-granular partitioning, processes this to create an initial MLPPI, and further refines it to a final MLPPI by determining scan and query costs, merging ranges, and partitioning the fact table using a greedy algorithm to minimize the number of partitions and optimize query performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If fine-grained partitioning is used, then data access precision is improved and I/O is reduced, but partition overhead and system complexity increase

Engineering Contradiction:
Improvedata access precisionVSAvoidpartition overhead
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent applies segmentation by dividing the fact table into multiple partition levels (first level partitioning by PI, second level by PPI). This hierarchical segmentation allows queries to access only relevant partitions at each level, improving data access precision while managing complexity through structured organization rather than exhaustive fine-grained partitioning.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements local quality by creating different partitioning strategies for different query patterns. The system identifies frequently accessed columns and applies partitioning selectively based on local access patterns rather than uniformly across all data, optimizing for specific query workloads while controlling overall system complexity.

Inventive Principle:
Principle #3Local quality

2Productivity

If multi-level partitioning is implemented, then query performance is improved, but the number of partitions increases and becomes difficult to manage

Engineering Contradiction:
Improvequery performanceVSAvoidnumber of partitions
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies dynamics by making the partitioning structure adaptive to query workloads. The system dynamically determines the optimal number and configuration of partitions based on analyzed query patterns, allowing the partitioning scheme to adjust to different workload characteristics rather than using a fixed static structure.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent implements parameter changes by adjusting partitioning parameters (number of partitions, partition columns, partition granularity) based on workload analysis. The system modifies these parameters to optimize query performance while constraining the total number of partitions to manageable levels through iterative refinement.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If partitioning is applied to reduce I/O, then data retrieval efficiency is improved, but selecting optimal partition columns becomes challenging

Engineering Contradiction:
Improvedata retrieval efficiencyVSAvoidcolumn selection complexity
Core Design Contradiction:
ProductivityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent applies preliminary action by analyzing query workloads before finalizing the partitioning scheme. The system pre-processes query patterns to identify frequently accessed columns and optimal partitioning strategies, allowing data to be organized in advance according to predicted access patterns rather than trial-and-error approaches.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback by using query performance metrics to iteratively refine the partitioning scheme. The system monitors actual query performance against the partitioned structure and adjusts partition column selections based on measured effectiveness, creating a closed-loop optimization process.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8768916B1Multi level partitioning a fact table
Publication Date: 2014.07.01 TERADATA US INC
  • US8768916B1 patent drawing
  • US8768916B1 patent drawing
  • US8768916B1 patent drawing

AI summary

Inputs are received. The inputs are a star schema data model comprising a non-partitioned fact table (F) comprising fields (f1, f2, . . . fn); a set of queries (Q=q1, q2, . . . qm); and a set of weights for each query in Q. Each weight defines the priority of a respective query in a workload. The inputs are pre-processed to produce a most-granular-partitioning. The most-granular-partitioning is processed to produce an initial multi-level partitioned primary index, the processing including determining the scan cost of one of the queries in Q. The initial multi-level partitioned primary index is processed to produce a final multi-level partitioned primary index, the processing including determining the query cost of one of the queries in Q. F is partitioned using the final multi-level partitioned primary index. A query from Q is run against F to produce a result. The result is stored.