Updating Partitioning Column in Database Tables

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for updating values in a partitioning column of a database management system often result in inefficient performance and complex handling issues, particularly when rows need to be moved to different partitions, as they require temporary storage and reinsertion, which can be resource-intensive and lead to errors.

Innovation Solution

A method where the update operations are executed locally on each partition, with rows that need to be moved being identified and reinserted into the proper partition directly, using synchronization points and statement identifiers to prevent errors and ensure all partitions complete updates before reinsertion, thereby optimizing the update process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If existing methods are used to update values in a partitioning column, then the update operation can be performed, but temporary storage and reinsertion are required which are resource-intensive and lead to errors

Engineering Contradiction:
Improveerror preventionVSAvoidcomplex handling issues
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The update operation is segmented into two distinct phases: (1) execution phase where update operations are applied to each partition locally without moving rows, and (2) reinsertion phase where only rows that need partition changes are reinserted. This segmentation eliminates the need for temporary storage and reduces errors by keeping the process simpler and more controlled.

Inventive Principle:
Principle #1Segmentation

2Stability of the object's composition

If rows are moved to different partitions during update, then partitioning criteria are maintained, but temporary storage and reinsertion are required which are resource-intensive

Engineering Contradiction:
Improvepartitioning criteriaVSAvoidresource consumption
Core Design Contradiction:
Stability of the object's compositionVSLoss of energy

Solution Approach 1:

The system performs preliminary evaluation during the update operation to identify which rows will require partition changes. This allows the system to prepare and stage only the necessary rows for reinsertion, rather than moving all rows or using temporary storage, thereby reducing resource consumption while maintaining partitioning criteria.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Each partition processes update operations locally and independently, applying updates only to rows within that partition. This local processing eliminates the need for centralized temporary storage and reduces overall resource consumption by distributing the workload across partitions.

Inventive Principle:
Principle #3Local quality

3Productivity

If update operations are executed on the entire table, then all rows can be updated, but performance is reduced due to unnecessary processing of rows that don't need partition changes

Engineering Contradiction:
Improveupdate performanceVSAvoidprocessing time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The update operation is divided into partition-specific sub-operations, where each partition processes only its own rows. This segmentation eliminates unnecessary processing of rows that don't need updates and improves overall performance by allowing parallel processing across partitions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs only the necessary update actions on each partition rather than applying a blanket update to the entire table. By evaluating partitioning logic during the update process, the system identifies and processes only the rows that actually need changes, reducing processing time while maintaining completeness.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10474697B2Updating a partitioning column
Publication Date: 2019.11.12 SAP SE
  • US10474697B2 patent drawing
  • US10474697B2 patent drawing
  • US10474697B2 patent drawing

AI summary

An update to a partitioning column for a partitioned table in a database can be performed by handling rows for which the update will not require moving to a different partition separately (e.g. “locally”) for each partition followed by re-inserting those rows that will require moving to a different partition and deleting them from the original partition. The re-inserted rows are directed to a correct partition by application of the partitioning criteria for the table. Methods, articles, and systems are described.