Persistent Table Dependency Analysis for Database Scale-Out

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The SQL Plan Cache in database systems like HANA is volatile, leading to loss of relevant information about table connections when the database restarts, making it challenging to distribute tables meaningfully across nodes in a scale-out system to minimize cross-node communication.

Innovation Solution

A computer-implemented method for analyzing object dependencies, which selects base objects and their dependent objects, groups them based on dependencies, and stores these groups to persist information about connections, allowing for reliable distribution of tables across nodes in a database system.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If SQL Plan Cache is used to track table connections, then query execution can be optimized, but the information is lost when database restarts due to volatility

Engineering Contradiction:
Improvequery execution efficiencyVSAvoidinformation persistence
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary analysis of table dependencies and stores them in persistent storage before database restarts. This allows the optimization information to be preserved and reused after restart, eliminating the need to re-analyze dependencies and ensuring both productivity and reliability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The invention creates a copy of the table dependency information from the volatile SQL Plan Cache and stores it in persistent storage. This copy survives database restarts, allowing the system to recover optimization information without relying on the volatile cache, thus resolving the contradiction between execution efficiency and information persistence.

Inventive Principle:
Principle #26Copying

2Productivity

If tables are distributed across multiple nodes in scale-out system, then processing capacity increases, but cross-node communication overhead increases

Engineering Contradiction:
Improveprocessing capacityVSAvoidcross-node communication overhead
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system segments tables into groups based on their dependency relationships, ensuring that highly interconnected tables are kept together on the same node. This segmentation minimizes cross-node communication while maintaining the benefits of distributed processing, as queries accessing related tables can be handled locally within a node.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The invention applies local quality by keeping tables with strong dependency relationships on the same node, creating localized data groups. This reduces the need for cross-node communication for queries accessing these tables, thereby reducing communication overhead while maintaining distributed processing capacity across the system.

Inventive Principle:
Principle #3Local quality

3Ease of manufacture

If statement cache is used for grouping tables, then distribution can be performed, but the volatile nature prevents reliable information about table connections

Engineering Contradiction:
Improvetable distribution capabilityVSAvoidtable connection information
Core Design Contradiction:
Ease of manufactureVSLoss of information

Solution Approach 1:

The system performs preliminary extraction and storage of table connection information from the statement cache before it becomes volatile. By persisting this information in advance, the system maintains the ability to perform reliable table distribution even after database restarts when the statement cache is cleared.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The invention creates a persistent copy of the table connection information that would otherwise be stored only in the volatile statement cache. This copy ensures that table distribution can be performed reliably based on accurate connection information, preventing information loss while maintaining distribution capability.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11048728B2Dependent object analysis
Publication Date: 2021.06.29 SAP SE
  • US11048728B2 patent drawing
  • US11048728B2 patent drawing
  • US11048728B2 patent drawing

AI summary

A method, a system, and a computer program product for performing analysis of object dependencies. A first base object is selected from a plurality of base objects. At least one first dependent object in a plurality of dependent objects depends on the selected first base object. A group of base objects that includes the selected first base object is generated. A second base object in the plurality of base objects is determined. The first dependent object is dependent on the second base object. The determined second base object is grouped with the generated group of base objects. At least one second dependent object in the plurality of dependent objects and its corresponding base object are determined. The corresponding base object is grouped with the generated group of base objects. The generated group of base objects is stored.