Processing Unit Sizing for MVCC Overhead in Column Databases

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Row-unit multi-version concurrency control (MVCC) in database management systems incurs significant overhead, particularly in column-type databases, where the time required for collection processing is shorter than in row-type databases, leading to increased execution costs.

Innovation Solution

An apparatus and method for calculating the size of a processing unit in a database management system that includes a processor and memory, which executes a first calculation process to determine a processing unit reference value based on processing costs of multi-version concurrency control and the costs of converting row-type database operations to column-type database form, and a second calculation process to determine the size of the processing unit based on this reference value and the deviation of valid rows, thereby optimizing the size determination for efficient MVCC execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If row-unit multi-version concurrency control (MVCC) is implemented in column-type databases, then data consistency and concurrency control are improved, but execution costs and processing time increase significantly

Engineering Contradiction:
Improvedata consistencyVSAvoidexecution cost
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the column-type database into multiple processing units (extents), each independently managed for MVCC operations. This allows concurrency control to be applied at the extent level rather than entire table level, reducing the overhead impact while maintaining data consistency through version vectors and timestamp-based conflict detection.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent dynamically adjusts MVCC parameters such as version retention policies, timestamp granularity, and conflict detection thresholds based on workload characteristics. This allows the system to optimize between consistency strength and execution cost by adapting parameters to specific operational contexts.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If processing unit size is increased to reduce overhead, then MVCC execution efficiency improves, but memory usage and storage requirements increase

Engineering Contradiction:
ImproveMVCC execution efficiencyVSAvoidmemory usage
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent implements dynamic processing unit size adjustment where the extent size is not fixed but adapts based on workload patterns, data access frequency, and available memory resources. This allows the system to optimize the balance between overhead reduction and memory consumption by resizing processing units in response to changing conditions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent introduces a hierarchical organization of processing units with multiple levels of aggregation. Instead of a single flat dimension of processing unit size, the system creates a multi-dimensional structure where smaller extents can be grouped into larger logical units, allowing overhead reduction without proportionally increasing memory usage through hierarchical sharing of control structures.

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

Data Source

PatentUS11372883B2Apparatus for calculating size of processing unit, method for calculating size of processing unit, and non-transitory computer-readable storage medium for storing program
Publication Date: 2022.06.28 FUJITSU LTD
  • US11372883B2 patent drawing
  • US11372883B2 patent drawing
  • US11372883B2 patent drawing

AI summary

A method for calculating a size of a processing unit in a system, the system being configured to perform a reflection process that includes reflecting information on an operation performed in a row-type database on a column-type database in a predetermined processing unit, the method includes: executing a first calculation process for calculating a reference value based on processing costs of multi-version concurrency control performed in the processing unit by the database management system and information on processing costs of a process of converting the information on the operation performed in the row-type database into a form of the column-type database after the reflection process is executed in a previous time; and executing a second calculation process for calculating a size of a processing unit based on the reference value calculated by the first calculation process and information on a deviation of the number of valid rows.