Constant Column Handling in Column-Oriented Database Servers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In column-oriented databases, queries for constant columns often result in empty tables, leading to inconsistencies and resource inefficiencies, as calculation engines default to returning empty results even when constant columns are requested.

Innovation Solution

The database server instantiates a calculation scenario with specific parameters to ensure a result table is created for each column with a constant value, allowing for responsive data sets to be provided, even if only constant columns are requested, and enables filtering and sorting of results.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If the calculation engine returns an empty table for constant columns, then resource consumption is reduced, but query consistency and user experience deteriorate

Engineering Contradiction:
Improveresource consumptionVSAvoidquery consistency
Core Design Contradiction:
Loss of energyVSReliability

Solution Approach 1:

The patent applies local quality by treating constant columns differently from regular columns in the result set. Specifically, when a column is identified as constant (all rows have the same value), the system generates a synthetic row with that constant value instead of including actual data rows. This localized treatment ensures that constant columns contribute meaningfully to the result set while avoiding unnecessary data retrieval and processing for those specific columns, thus resolving the contradiction between resource efficiency and query consistency.

Inventive Principle:
Principle #3Local quality

2Reliability

If all columns are retrieved to ensure consistent results, then query consistency is maintained, but resource consumption and processing time increase

Engineering Contradiction:
Improvequery consistencyVSAvoidprocessing speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts and identifies constant columns from the query result set using metadata or sampling techniques. Once constant columns are identified, the system extracts only the constant value information rather than retrieving actual data rows for those columns. This extraction approach allows the system to maintain query consistency by including constant column values in the result set while avoiding the overhead of retrieving and processing complete data rows, thus improving processing speed without sacrificing reliability.

Inventive Principle:
Principle #2Taking out (Extraction)

3Device complexity

If constant columns are handled with default empty table generation, then processing simplicity is maintained, but result effectiveness deteriorates

Engineering Contradiction:
Improveprocessing simplicityVSAvoidresult effectiveness
Core Design Contradiction:
Device complexityVSLoss of information

Solution Approach 1:

The patent implements preliminary action by identifying and flagging constant columns during the query planning or execution preparation phase, before actual data retrieval occurs. The system uses metadata inspection or preliminary sampling to determine which columns are constant, then pre-generates the appropriate synthetic row structure for those columns. This preliminary identification and preparation ensures that constant columns are handled effectively in the final result set while maintaining processing simplicity, as the special handling is already arranged before main data processing begins.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9613094B2Constant mapping optimization in a database
Publication Date: 2017.04.04 SAP SE
  • US9613094B2 patent drawing
  • US9613094B2 patent drawing
  • US9613094B2 patent drawing

AI summary

A database server receives a query associated with a calculation scenario that defines a data flow model that includes one or more calculation nodes. Each calculation node defines one or more operations to execute on the database server, the database server comprising a column-oriented database. Thereafter, the database server instantiates the calculation scenario and executes the operations defined by the calculation nodes of the instantiated calculation scenario to result in a responsive data set having a result table with a row for each column in the column-oriented database implicated by the query having a constant value. The database server then provides the data set to the application server. Related apparatus, systems, methods, and articles are also described.