Processing Unit Sizing for MVCC Overhead in Column Databases
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Productivity
If processing unit size is increased to reduce overhead, then MVCC execution efficiency improves, but memory usage and storage requirements increase
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.
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.
Data Source
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.


