Parallel Constraint Checking in In-Memory Databases

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In-memory databases face performance issues due to the lack of inter-query parallelization in constraint checking, which hampers execution speed since CPU power is abundant but disk I/O is absent, leading to significant upfront processing time for constraint checks.

Innovation Solution

Implementing parallelized constraint checking for database operations, where constraint checks are performed subsequent to operation execution, with invalid operations being invalidated, and utilizing multi-version concurrency control to manage row identifiers and perform checks only on existing rows, allowing for parallel execution of operations and constraint checks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If constraint checking is performed sequentially before operation execution, then data validity is ensured, but execution time increases significantly

Engineering Contradiction:
Improvedata validityVSAvoidexecution time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs constraint checks after operation execution rather than before, allowing operations to proceed first and then validating them. This reverses the traditional sequence where constraint checks would block operations until validation completes, thereby reducing execution time while maintaining data validity through post-execution verification

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically adjusts constraint checking based on operation types and table configurations. For example, it selectively applies constraint checks to specific operation types (insert, update, delete) and allows parallel execution where safe, optimizing the balance between reliability and execution time based on real-time database state

Inventive Principle:
Principle #15Dynamics

2Productivity

If constraint checking is parallelized, then execution speed improves, but complexity of concurrency control increases

Engineering Contradiction:
Improveexecution speedVSAvoidconcurrency control complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides constraint checking into separate parallel tasks for different operations and tables. Each constraint check can execute independently on different CPU cores, with results aggregated afterward. This segmentation enables parallelization while managing complexity through modular task design

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system introduces an intermediary layer that coordinates parallel constraint checks, managing concurrency control without requiring complex inter-locking. This intermediary handles the coordination of parallel tasks and consolidation of results, simplifying the overall concurrency management architecture

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If all constraint checks are performed, then data integrity is maintained, but processing overhead increases

Engineering Contradiction:
Improvedata integrityVSAvoidprocessing overhead
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent performs constraint checks selectively based on operation types and table configurations rather than uniformly applying checks to all operations. This partial action approach maintains data integrity for critical operations while reducing processing overhead for operations where full constraint checking is less critical or can be optimized

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system changes parameters such as constraint check thresholds and validation depths based on operation characteristics and database state. This allows adaptive processing overhead that maintains data integrity when needed while reducing energy consumption during operations where full validation is less critical

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9053153B2Inter-query parallelization of constraint checking
Publication Date: 2015.06.09 SAP SE
  • US9053153B2 patent drawing
  • US9053153B2 patent drawing
  • US9053153B2 patent drawing

AI summary

A plurality of operations are executed on tables of a database with at least a portion of the operations being executed in parallel. A constraint check is performed for each operation subsequent to its execution to determine whether data stored in the database affected by the operation is valid, during this constraint checking additional operations and/or constraint checks on the same table are allowed to run in parallel. Based on this constraint checking, operations for which the constraint check determines that the data is not valid are invalidated. Related apparatus, systems, techniques and articles are also described.