Zigzag Join for Dimensional Data Model Query Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing database management systems face inefficiencies when processing queries against dimensional data models, particularly due to the need to join large numbers of dimension records with fact records, leading to excessive I/O operations and resource consumption.

Innovation Solution

The implementation of a two-stage zigzag join method, which involves a zigzag main join to generate row identifiers and a zigzag back join to efficiently retrieve fact records in data page order, while deferring dimension payload retrieval until necessary, allowing for optimized access to both fact and dimension tables.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional join methods are used to process queries against dimensional data models, then query results can be obtained, but excessive I/O operations and resource consumption occur due to joining large numbers of dimension records with fact records

Engineering Contradiction:
Improvequery execution efficiencyVSAvoidI/O operations and resource consumption
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent segments the join operation into two distinct phases: (1) a zigzag main join that generates row identifiers by joining dimension records to the fact table, and (2) a zigzag back join that retrieves fact records using the generated row identifiers. This segmentation allows the system to process and filter dimension records in stages, reducing the total number of I/O operations compared to traditional single-phase joins that must handle all dimension records simultaneously.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The zigzag main join performs preliminary filtering and generates row identifiers before the actual fact record retrieval. By pre-processing the dimension records and identifying only those that satisfy join predicates, the system avoids unnecessary I/O operations during the final fact record retrieval phase, thus reducing overall resource consumption.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If all dimension records are joined with fact records to ensure complete query results, then accuracy is maintained, but query execution time increases due to processing unnecessary records

Engineering Contradiction:
Improvequery result accuracyVSAvoidquery execution time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent extracts only the necessary row identifiers from the join operation in the zigzag main join phase. Instead of retrieving all fact records that could potentially match, the system extracts minimal information (row identifiers) that is sufficient to guarantee query result accuracy while enabling efficient filtering before the final retrieval phase.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

By performing preliminary filtering through the zigzag main join to generate row identifiers, the system identifies and processes only the subset of fact records that will actually contribute to the final query results. This preliminary action prevents waste of time on processing and retrieving unnecessary records while maintaining complete accuracy of the results.

Inventive Principle:
Principle #10Preliminary action

3Ease of operation

If dimension payload retrieval is performed early in the join process, then all necessary data is available for processing, but memory usage and processing overhead increase

Engineering Contradiction:
Improvedata availability for processingVSAvoidmemory usage and processing overhead
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent extracts only the essential row identifier information from dimension records during the zigzag main join, deferring the retrieval of full dimension payloads until the zigzag back join phase. This extraction approach ensures that minimal data is held in memory during the filtering stage, reducing memory usage and processing overhead while still maintaining the ability to retrieve complete data when needed for final result assembly.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS9043310B2Accessing a dimensional data model when processing a query
Publication Date: 2015.05.26 WRP IP MANAGEMENT LLC
  • US9043310B2 patent drawing
  • US9043310B2 patent drawing
  • US9043310B2 patent drawing

AI summary

Techniques are disclosed for accessing a dimensional data model when processing a query. In one embodiment, the query is processed by performing a two-stage zigzag join operation including a zigzag main join and a zigzag back join. The zigzag main join is configured to generate a set of row identifiers of fact records satisfying any local predicates in the query. The zigzag back join is configured to generate query results based on the set of row identifiers. The query results are returned responsive to the query.