DeltaIterator Database Traversal Contradiction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing database iterators face challenges in efficiently traversing and processing values of attributes stored across multiple physical parts of a database, particularly due to variability in implementations and data types, leading to inefficiencies and increased computational complexity.

Innovation Solution

The introduction of DeltaIterators, which operate on any attribute of any table with any number of physical parts, enumerating values exactly once and in the order defined by the data type, while coordinating individual iterators for each delta part to traverse attributes simultaneously and reduce superfluous value comparisons.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a generic iterator is designed to handle different database implementations and traverse values across multiple parts, then adaptability is improved, but device complexity increases

Engineering Contradiction:
ImproveadaptabilityVSAvoiddevice complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The DeltaIterator is designed as a universal iterator class that can handle any attribute of any table with any number of physical parts, supporting multiple data types (string, decfloat, datetime, etc.) and different physical implementations (dictionary, B-tree, etc.). This multi-functional design allows a single iterator implementation to serve diverse database traversal needs without requiring separate specialized iterators for each scenario.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The iterator traverses multiple delta parts by maintaining individual iterators for each part and coordinating them through a unified interface. Each delta part is processed independently through its own iterator instance, but the overall traversal is segmented and managed systematically to produce a unified ordered sequence across all parts.

Inventive Principle:
Principle #1Segmentation

2Productivity

If all parts of a database table are traversed simultaneously to improve efficiency, then productivity is improved, but device complexity increases

Engineering Contradiction:
Improvetraversal efficiencyVSAvoiddevice complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Multiple individual iterators traversing different delta parts are merged into a single unified DeltaIterator interface. The coordinator logic combines the progress and results from all individual iterators, allowing simultaneous traversal of multiple parts while presenting a unified sequential view to the user. This merging enables parallel processing benefits while maintaining a simple external interface.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The iterator maintains continuous traversal across all delta parts by coordinating multiple individual iterators to advance simultaneously or in sequence. Rather than completing one part before moving to the next, the system maintains continuous useful action across all parts by processing them in parallel where possible, eliminating idle time and improving overall traversal productivity.

Inventive Principle:
Principle #20Continuity of useful action

3Loss of time

If individual iterators are coordinated to traverse attributes simultaneously, then loss of time is reduced, but device complexity increases

Engineering Contradiction:
Improvetraversal timeVSAvoiddevice complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The system performs preliminary organization of delta parts and their associated iterators before actual traversal begins. Each delta part is prepared with its own iterator instance and the coordination mechanism is established in advance, allowing the traversal to proceed efficiently without setup overhead during the actual iteration process.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10558654B2Deltaiterators in database systems
Publication Date: 2020.02.11 SAP SE
  • US10558654B2 patent drawing
  • US10558654B2 patent drawing

AI summary

The present disclosure describes methods, systems, and computer program products for using DeltaIterators in a database. One computer-implemented method includes, for each of multiple delta parts of a database that store values of an attribute of a table: identifying, by operation of a computer system, a set of values of the attribute stored in the delta part of the database, and identifying a current value in the set of values; identifying, a first critical value among the multiple current values, wherein the first critical value is a current value of a first set of values of the attribute stored in a first delta part of the database; outputting the first critical value; identifying a next value in first set of values; identifying a second critical value among the next value and the multiple current values except the first critical value; and outputting the second critical value.