Zone Expression Maps for Database Query Acceleration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Database systems face inefficiencies in processing queries due to varying techniques, leading to slower query execution times, especially when dealing with large datasets and complex conditions.

Innovation Solution

Implementing a zone expression map system that divides table columns into disjoint zones, associating each zone with metadata describing the range of values for a mapped expression, allowing for the identification and exclusion of non-relevant zones based on query conditions, thereby accelerating query processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If traditional query processing techniques are used, then all records in the table must be scanned to satisfy query conditions, but this leads to slower query execution times and higher I/O costs

Engineering Contradiction:
Improvequery execution timeVSAvoidamount of data read from disk
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The table is divided into multiple zones based on the range of values in the column. Each zone contains records with values falling within a specific range. This segmentation allows the query processor to identify and access only the zones that may contain records satisfying the query condition, rather than scanning the entire table. The zone expression map stores metadata about each zone's value range, enabling efficient zone identification.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The zones are pre-defined and the zone expression map is pre-computed with metadata about each zone's value range before queries are executed. This preliminary organization of data into zones with known value ranges allows the system to quickly determine which zones to access based on query conditions without performing extensive analysis during query execution.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If the entire table is scanned to ensure all records are checked, then query accuracy is maintained, but productivity decreases due to processing unnecessary data

Engineering Contradiction:
Improvequery processing efficiencyVSAvoidtime spent processing irrelevant zones
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

Different zones are created with distinct value range characteristics. Each zone has a specific quality (value range) that allows the query processor to make local decisions about whether to access that zone. For example, if a query condition specifies values between 10 and 20, only zones with value ranges that overlap with this condition are accessed, while zones with ranges completely outside this condition are skipped.

Inventive Principle:
Principle #3Local quality

3Measurement precision

If zones are divided based on value ranges, then relevant zones can be identified faster, but the device complexity increases due to the zone expression map and metadata management

Engineering Contradiction:
Improveprecision of zone identificationVSAvoidcomplexity of zone expression map system
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

Instead of physically organizing data into separate zone files or structures, the system creates a virtual copy of the table's value distribution in the form of a zone expression map. This metadata structure contains information about which records fall into which zones based on their value ranges, allowing the system to work with zone concepts without duplicating the actual data storage complexity.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11176127B2Accelerating queries based on zone expression maps
Publication Date: 2021.11.16 SAP SE
  • US11176127B2 patent drawing
  • US11176127B2 patent drawing
  • US11176127B2 patent drawing

AI summary

Some embodiments provide a non-transitory machine-readable medium that stores a program. The program receives, from a requestor, a query for data comprising a condition on a column of a table. The table includes a plurality of records divided into a plurality of zones. The program further determines a set of zones in the plurality of zones that include records that satisfy the condition based on metadata associated with each zone in the plurality of zones comprising a data interval of an expression on data values in the column of the table. The program also determines a result set of records in the table that satisfy the condition based on records in the set of zones. The program further sends the result set of records to the requestor.