RIDDecode Operator ROWID Lookup for Column Store Memory Pressure

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Dictionary decoding in column stores incurs significant overhead due to the need for multiple join operations and data structure maintenance, especially in distributed systems, limiting query optimization and performance.

Innovation Solution

The RIDDecode operator uses ROWID-based lookup and fetch to retrieve unencoded values directly from the row store, eliminating the need for dictionary decoding and reducing memory pressure by propagating ROWIDs through the query execution plan, allowing for efficient decoding of multiple columns simultaneously.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If dictionary decoding is used to retrieve decoded values from column stores, then data can be decoded for predicate or expression evaluation, but significant overhead is incurred due to multiple join operations and data structure maintenance

Engineering Contradiction:
Improvedecoding accuracyVSAvoiddata structure maintenance complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent extracts the decoding functionality from the traditional dictionary-based approach and relocates it to the row store using ROWID encoding. Instead of maintaining complex dictionary data structures in memory, the decoded values are stored directly in the row store with ROWID references, eliminating the need for dictionary maintenance and multiple join operations while preserving accurate decoding capability.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces ROWID as an intermediary mechanism between the column store and the decoded values. ROWID serves as a compact reference that enables direct retrieval of decoded values from the row store without requiring complex dictionary lookups or join operations, thereby simplifying the decoding process while maintaining accuracy.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If dictionary decoding is used to retrieve decoded values, then data can be decoded for query execution, but query performance is limited due to multiple join operations and data access overhead

Engineering Contradiction:
Improvedecoding accuracyVSAvoidquery execution speed
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent performs preliminary action by pre-storing decoded values in the row store with ROWID references during data loading or maintenance operations. This allows query execution to directly retrieve pre-decoded values without performing time-consuming dictionary lookups and join operations during query processing, thereby significantly improving query execution speed while maintaining decoding accuracy.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the data storage system into column store (for encoded data) and row store (for decoded values with ROWID references). This segmentation allows each component to serve its specific function optimally: the column store maintains compressed encoded data for storage efficiency, while the row store provides fast direct access to decoded values, thereby improving overall query execution performance.

Inventive Principle:
Principle #1Segmentation

3Measurement precision

If dictionary decoding is used, then decoded values can be retrieved for result return, but memory consumption increases due to dictionary data structure maintenance

Engineering Contradiction:
Improvedecoding accuracyVSAvoidmemory consumption
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent replaces the expensive, long-lived dictionary data structures with cheaper, more efficient ROWID references stored in the row store. Instead of maintaining large in-memory dictionaries that consume significant memory resources, the system uses compact ROWID references that point to pre-stored decoded values, thereby reducing memory consumption while preserving decoding accuracy.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Data Source

PatentUS12001414B2ROWID decoding: an alternative to dictionary decoding
Publication Date: 2024.06.04 ORACLE INT CORP
  • US12001414B2 patent drawing
  • US12001414B2 patent drawing
  • US12001414B2 patent drawing

AI summary

Techniques described herein propose a new RIDDecode operator in a QEP that uses ROWID lookup and fetch, instead of dictionary decoding, to retrieve decoded values, in order to reduce memory pressure and speed up processing.