MPP Database Partition Grouping for Co-located Data

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In massively parallel processing (MPP) database systems, efficiently setting up and distributing data across multiple processors is challenging, leading to inefficient query processing due to data fragmentation and the need for frequent join commands across different processing nodes.

Innovation Solution

The method involves assigning primary and foreign keys to tables to establish relationships, determining partition groups, partitioning tables based on these keys, and distributing partitions to independent processors, allowing for efficient data co-location and reduced query complexity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data is distributed across multiple processing nodes in an MPP database system, then parallel processing capability is improved, but query efficiency deteriorates due to frequent cross-node join operations

Engineering Contradiction:
Improveparallel processing capabilityVSAvoidquery execution time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The database is segmented into multiple partitions distributed across processing nodes, with each partition containing data for a subset of entities. This segmentation enables parallel processing while the invention adds a layer of partition group management to optimize query execution by keeping related partitions together when possible.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Related partitions are merged into partition groups that are co-located on the same processing node. By combining partitions that contain foreign key relationships into the same partition group, the system reduces cross-node join operations while maintaining parallel processing capabilities across different partition groups.

Inventive Principle:
Principle #5Merging (Combining)

2Quantity of substance

If tables are partitioned and distributed across processing nodes, then data storage scalability is improved, but system complexity increases due to data distribution management

Engineering Contradiction:
Improvedata storage capacityVSAvoiddata distribution management complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The partition group concept serves multiple functions: it organizes partitions for storage scalability, manages data distribution across nodes, optimizes query execution by co-locating related data, and provides a abstraction layer that simplifies the management complexity of distributed partitions.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

Partition groups act as an intermediary layer between the physical distribution of partitions across nodes and the logical requirements of queries. This intermediary abstraction simplifies data distribution management by providing a structured organization that automatically optimizes for both storage scalability and query efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If related data is co-located in the same partition group, then query efficiency is improved by reducing cross-node joins, but data distribution flexibility decreases

Engineering Contradiction:
Improvequery efficiencyVSAvoiddata distribution flexibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The partition group structure is dynamic and adaptable. Partition groups can be created, modified, and reorganized based on query patterns and data characteristics. The system can dynamically adjust which partitions are grouped together to optimize for different query workloads while maintaining the ability to distribute data flexibly across processing nodes.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9195701B2System and method for flexible distributed massively parallel processing (MPP) database
Publication Date: 2015.11.24 FUTUREWEI TECHNOLOGIES INC
  • US9195701B2 patent drawing
  • US9195701B2 patent drawing
  • US9195701B2 patent drawing

AI summary

An embodiment method for massively parallel processing includes assigning a primary key to a first table in a database and a foreign key to a second table in the database, the foreign key of the second table identical to the primary key of the first table, determining a number of partition groups desired for the database, partitioning the first table into first partitions based on the primary key assigned and the number of partition groups desired, partitioning the second table into second partitions based on the foreign key assigned and the number of partition groups desired, and distributing the first partitions and the second partitions to the partition groups as partitioned. An embodiment system for implementing the embodiment methods is also disclosed.