Parallelized External Table Access via Work Granule Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current Database Management Systems (DBMS) face limitations in achieving parallelism when executing queries that access external tables, as existing execution plans do not include work granules for generating rows from external data sources that can be executed in parallel with other granules, thereby hampering the degree of parallelism and query performance.

Innovation Solution

The approach involves generating execution plans with multiple work granules that access an external data source, allowing each granule to be assigned to a slave process for parallel execution, utilizing a distributed data access system where data sources are accessible across a cluster of data nodes, and specifying the appropriate code modules to generate rows from heterogeneous data formats.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If execution plans include work granules for accessing external data sources, then query performance is improved, but the degree of parallelism is hampered because external table row generation cannot be divided into multiple parallel work granules

Engineering Contradiction:
Improvequery performanceVSAvoiddegree of parallelism
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments external table access into multiple work granules by dividing the external data source into partitions. Each work granule is assigned to a different slave process and accesses a specific partition of the external data source, enabling parallel execution. This segmentation resolves the contradiction by allowing external table access to be divided into independent parallel tasks while maintaining manageable complexity through structured partitioning.

Inventive Principle:
Principle #1Segmentation

2Loss of time

If multiple slave processes execute work granules in parallel, then query execution time is reduced, but external table access cannot participate in parallel execution with other granules

Engineering Contradiction:
Improvequery execution timeVSAvoidparallel execution compatibility
Core Design Contradiction:
Loss of timeVSAdaptability or versatility

Solution Approach 1:

The external data source is segmented into multiple partitions, with each partition accessible by a separate work granule. This allows multiple slave processes to execute external table access operations in parallel simultaneously with other work granules, reducing query execution time while maintaining adaptability through the standardized partitioned access interface.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates a universal work granule structure that can handle both internal and external table access uniformly. The external table access work granules follow the same execution model as internal table access, enabling them to participate in the same parallel execution framework and be scheduled alongside other granules without requiring special handling.

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

3Device complexity

If external table access is implemented as a single work granule, then implementation complexity is reduced, but the degree of parallelism is limited

Engineering Contradiction:
Improveimplementation complexityVSAvoiddegree of parallelism
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent implements a segmented approach where the external data source is divided into partitions, and each partition is accessed by a separate work granule. This segmentation enables parallelism while keeping implementation complexity manageable through the use of standardized partitioning logic and uniform work granule structures that can be generated automatically by the execution plan compiler.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10019473B2Accessing an external table in parallel to execute a query
Publication Date: 2018.07.10 ORACLE INT CORP
  • US10019473B2 patent drawing
  • US10019473B2 patent drawing
  • US10019473B2 patent drawing

AI summary

An approach, referred to herein as parallelized-external-table access, generates rows from a single external table in parallel for a given query. Under parallelized-external-table access, an execution plan generated for the query includes multiple work granules that generate rows for a single external table from a data source. Such work granules are referred to herein as external work granules. Each external work granule of the execution plan may be assigned to a slave process, which executes the external work granule in parallel with another slave process executing another external work granule. External tables are accessible on a cluster of data nodes in a distributed data access system (e.g. Hadoop Distributed File System) connected to a DBMS.