Column Smart Mechanism for OLTP Transaction Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Running both OLTP and OLAP systems on a column-based in-memory database, such as SAP HANA, leads to inefficiencies in OLTP performance compared to traditional row-based databases, as column-based storage requires accessing all columns, increasing response time due to unnecessary data retrieval.

Innovation Solution

Implementing a smart query optimization mechanism that utilizes a cache to determine if column information is available, allowing OLTP transactions to operate in a learned mode using only necessary columns, thereby reducing the need for querying all columns and minimizing response time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If column-based storage is used for OLTP transactions, then data compression and OLAP query efficiency are improved, but response time increases due to accessing all columns

Engineering Contradiction:
ImproveOLAP query efficiencyVSAvoidOLTP response time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments the column storage by creating separate column caches for different OLTP applications. Each application maintains its own cache containing only the specific columns it needs, rather than accessing all columns from a unified column storage. This segmentation allows OLTP applications to retrieve only necessary column data, reducing access time while preserving the compression benefits of column-based storage for OLAP operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary action by pre-loading and caching column data into application-specific column caches before OLTP transactions occur. The system proactively identifies and stores frequently accessed columns in memory caches, so that when OLTP transactions need this data, it is already available without requiring access to the full column storage. This preliminary caching action eliminates the need to access all columns during transaction processing.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If all columns are accessed in column-based storage, then data integrity is maintained, but computation costs increase due to processing unnecessary data

Engineering Contradiction:
Improvedata integrityVSAvoidcomputation costs
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent extracts only the necessary columns from the full column storage and places them into application-specific caches. Each OLTP application's cache contains only the subset of columns relevant to that application, eliminating the need to process or access unrelated columns. This extraction maintains data integrity for the required columns while significantly reducing computation costs by avoiding unnecessary data processing.

Inventive Principle:
Principle #2Taking out (Extraction)

3Device complexity

If column-based in-memory database is used, then system complexity is reduced by consolidating OLTP and OLAP, but OLTP performance does not improve compared to row-based databases

Engineering Contradiction:
Improvesystem architecture complexityVSAvoidOLTP transaction efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent applies local quality by creating application-specific column caches with different characteristics optimized for each OLTP application's needs. Rather than using a uniform access pattern, each application has its own cache containing locally relevant columns with appropriate caching strategies. This allows the system to maintain the simplified column-based architecture while achieving OLTP performance improvements through localized, application-tailored data access.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10108668B2Column smart mechanism for column based database
Publication Date: 2018.10.23 SAP SE
  • US10108668B2 patent drawing
  • US10108668B2 patent drawing
  • US10108668B2 patent drawing

AI summary

Embodiments of the present disclosure may provide a system and method for processing an online transactional processing (OLTP) transaction on a column-based storage of a database. The method may include receiving a request of the OLTP transaction to access data on the column-based storage. A determination may be made whether a cache associated with the database includes column information for the OLTP transaction. If the cache includes the column information for the OLTP transaction, the method may include processing the OLTP transaction with the column information in the cache. If the cache does not include the column information for the OLTP transaction, the method may include selecting columns from the column-based storage of the database.