Overflow Row Repair in Relational Database Tables

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for removing overflow rows from relational database tables often result in extended downtime, impacting database availability and performance, as they require locking the table during reorganization processes.

Innovation Solution

A method to dynamically identify and remove overflow rows from relational database tables without taking the table offline, using techniques such as inspecting physical storage, log files, and temporary storage to unload, delete, and reload identified overflow rows, while minimizing user impact by limiting access restrictions and processing intervals.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If prior art reorganization process is used to remove overflow rows, then database performance is improved, but table availability deteriorates due to extended locking

Engineering Contradiction:
Improvedatabase performanceVSAvoidtable availability
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the table into multiple partitions and processes overflow row removal in a distributed manner across different partitions simultaneously, rather than locking and processing the entire table at once. This allows partial availability during maintenance operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements periodic sampling of pages to identify overflow rows rather than continuous processing. The system periodically scans pages, identifies overflow rows, and removes them in intervals, allowing the table to remain accessible between maintenance cycles.

Inventive Principle:
Principle #19Periodic action

2Manufacturing precision

If table locking is implemented during reorganization, then overflow row removal is ensured, but user access is blocked

Engineering Contradiction:
Improveoverflow row removal completenessVSAvoiduser access
Core Design Contradiction:
Manufacturing precisionVSEase of operation

Solution Approach 1:

The patent introduces an intermediary mechanism where overflow row identification and removal operations are coordinated through a sampling and selection process rather than direct table locking. The system uses page sampling to identify candidate pages, then selectively processes overflow rows without requiring comprehensive table locks.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent performs partial action by processing only a sampled subset of pages containing overflow rows rather than the entire table. This partial processing approach removes sufficient overflow rows to improve performance while minimizing impact on table availability and user access.

Inventive Principle:
Principle #16Partial or excessive action

3Measurement precision

If comprehensive page scanning is performed to identify all overflow rows, then detection accuracy is improved, but processing time increases

Engineering Contradiction:
Improveoverflow row detection accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent performs preliminary sampling of pages to identify candidate pages containing overflow rows before conducting detailed processing. This preliminary action filters the large set of all pages down to a smaller subset of pages that actually contain overflow rows, reducing subsequent processing time while maintaining detection accuracy for the identified rows.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses partial sampling of pages rather than scanning every page in the table. By selecting a representative sample of pages to examine, the system achieves sufficient detection accuracy to identify and remove overflow rows without the time cost of comprehensive scanning of the entire table.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS7555491B2Removing overflow rows in a relational database
Publication Date: 2009.06.30 BMC SOFTWARE INC
  • US7555491B2 patent drawing
  • US7555491B2 patent drawing
  • US7555491B2 patent drawing

AI summary

Techniques to repair overflow rows in a relational database table are described. In one implementation, a source table's physical memory pages are interrogated to identify overflow rows. In another implementation, overflow rows generated during database update operations are identified from non-table sources (e.g., log files). In general, overflow rows are repaired by: unloading one or more rows identified as overflow rows; locking the source table from outside access; disabling or deleting any associations associated with the unloaded rows; deleting the identified overflow/unloaded rows from the source table; reloading the previously unloaded rows back into the source table; restoring any associations previously disabled/deleted; and unlocking the tables. Rows may be processed in groups small enough not to significantly impact users accessing either the source or associated tables.