Automatic Vertical Table Decomposition for Database IO Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Database systems face challenges in input/output and memory utilization, particularly with column stores experiencing high IO requests, memory pressure, and inefficient disk and buffer space usage due to the limitations of N-ary Storage Model (NSM) and Decomposed Storage Model (DSM), while automatic vertical fragmentation techniques require prior knowledge of queries and are not suitable for schemas with 1000+ columns.

Innovation Solution

The automatic vertical decomposition of tables into PaxGroups, where the method dynamically adjusts the number of columns and groups based on predefined criteria such as maximum allowed columns per group, sum of column width, and number of groups, allowing for flexible storage that balances IO and memory efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of substance

If Decomposed Storage Model (DSM) is used to store data in columns, then data compression potential increases and IO volume reduces, but the number of IO requests increases and memory pressure significantly increases

Engineering Contradiction:
ImproveIO volumeVSAvoidnumber of IO requests
Core Design Contradiction:
Loss of substanceVSProductivity

Solution Approach 1:

The patent segments the table into multiple PaxGroups based on column characteristics (width, nullability, data types). Each PaxGroup contains a subset of columns stored together in a single disk block, reducing the number of separate IO requests needed while maintaining compression benefits for columns with similar characteristics.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of organization by grouping columns into PaxGroups that can be stored together in single disk blocks. This creates a hybrid structure that is neither fully row-based nor fully column-based, allowing multiple columns to be fetched in a single IO operation while maintaining compression.

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

2Loss of substance

If Decomposed Storage Model (DSM) stores data in columns, then data compression potential increases, but many blocks need to be cached in memory simultaneously significantly increasing pressure on buffer pool

Engineering Contradiction:
Improvedata compressionVSAvoidmemory pressure
Core Design Contradiction:
Loss of substanceVSQuantity of substance

Solution Approach 1:

The patent segments columns into PaxGroups that are stored together in single disk blocks. This reduces the total number of blocks that need to be cached in memory simultaneously, as multiple columns are now accessed through a single block cache entry rather than requiring separate cache entries for each column.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent merges multiple columns into PaxGroups that are stored together in single disk blocks. This combining of columns reduces the number of separate memory blocks needed to cache the data, thereby reducing buffer pool pressure while maintaining compression benefits.

Inventive Principle:
Principle #5Merging (Combining)

3Ease of operation

If Decomposed Storage Model (DSM) allocates a disk block for each column separately, then columnar storage is achieved, but significant waste of disk space and buffer memory occurs especially when there are relatively few records

Engineering Contradiction:
Improvecolumnar storageVSAvoiddisk space waste
Core Design Contradiction:
Ease of operationVSLoss of substance

Solution Approach 1:

The patent merges multiple columns into PaxGroups that share a single disk block. This is particularly beneficial when there are few records, as the fixed overhead of allocating a separate disk block for each column is eliminated. Multiple columns now share the block space efficiently.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent changes the storage parameter from one block per column to one block per PaxGroup (which contains multiple columns). This parameter change in the storage organization reduces disk space waste by eliminating the fixed overhead associated with allocating separate blocks for each column when record counts are low.

Inventive Principle:
Principle #35Parameter changes

4Ease of manufacture

If N-ary Storage Model (NSM) stores all attributes of a record together, then storage simplicity is maintained, but with very many or very wide columns only a few tuples fit in a single disk block reducing compression opportunities

Engineering Contradiction:
Improvestorage simplicityVSAvoidtuples per disk block
Core Design Contradiction:
Ease of manufactureVSQuantity of substance

Solution Approach 1:

The patent segments the attributes into multiple PaxGroups, each containing a subset of columns. This segmentation allows more tuples to fit in each disk block by reducing the width of each group, thereby increasing compression opportunities while maintaining manageable storage organization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a hierarchical dimension to storage organization, creating PaxGroups that organize columns into manageable subsets. This allows the system to maintain storage simplicity at the PaxGroup level while enabling better compression at the column level within each group.

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

5Ease of operation

If N-ary Storage Model (NSM) stores all attributes together, then row-based storage is achieved, but with very many or very wide columns a single tuple may not even fit in a block

Engineering Contradiction:
Improverow-based storageVSAvoidtuple size
Core Design Contradiction:
Ease of operationVSVolume of moving object

Solution Approach 1:

The patent segments wide tables into multiple PaxGroups, each containing a subset of columns. This segmentation ensures that individual tuples within each PaxGroup remain compact and can fit within disk blocks, even when the overall table has very many or very wide columns.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a dimensional organization where columns are grouped into PaxGroups of manageable width. This creates a hierarchical structure that preserves row-based storage semantics at the logical level while ensuring physical tuples fit within block constraints at the storage level.

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

Data Source

PatentUS9922090B1System and method for automatic vertical decomposition of a table for improving input/output and memory utilization in a database
Publication Date: 2018.03.20 ACTIAN CORP
  • US9922090B1 patent drawing
  • US9922090B1 patent drawing
  • US9922090B1 patent drawing

AI summary

A system and method for improving input/output and memory utilization in a database are described. The system may implement an automatic vertical table decomposition process to achieve the improved input/output, storage and memory utilization in a database.