Database Partition Unloader Parallel Export

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The process of exporting data to a remote location in a structured format creates unwanted time and computational overhead due to the need for further partitioning into multiple folders, which can lead to inefficiencies and bottlenecks in data processing.

Innovation Solution

A multi-stage database partition unloader exports data to a remote datastore using a single database copy command with a partition expression, parallelizing processing across multiple nodes to distribute files efficiently, thereby reducing overhead and improving processing speed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If data is exported to a single location and then partitioned into multiple folders using additional tools, then the data can be organized into structured partitions, but the process creates unwanted time and computational overhead

Engineering Contradiction:
Improvedata organization structureVSAvoidpartitioning time
Core Design Contradiction:
Ease of manufactureVSLoss of time

Solution Approach 1:

The database table is segmented into multiple partitions during the export process itself, rather than exporting all data to a single location and then partitioning it. The partition expression is evaluated for each row during the copy operation, and data is written directly to appropriate partition folders in parallel, eliminating the need for a separate partitioning step.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The partitioning action is performed preliminarily during the export process itself, before the data reaches the destination. By evaluating the partition expression and determining destination folders during the copy operation, the system avoids the need for subsequent partitioning tools and reduces overall processing time.

Inventive Principle:
Principle #10Preliminary action

2Ease of manufacture

If data is exported to a single location and then partitioned into multiple folders using additional tools, then the data can be organized into structured partitions, but computational resources are wasted

Engineering Contradiction:
Improvedata organization structureVSAvoidcomputational overhead
Core Design Contradiction:
Ease of manufactureVSLoss of energy

Solution Approach 1:

The export and partitioning operations are merged into a single parallel processing step. Instead of using separate tools for exporting and partitioning, the system combines both functions by evaluating the partition expression during the copy operation, reducing computational overhead and resource consumption.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The database system performs the partitioning operation itself during the export process, rather than requiring external tools to intervene. The partition expression is evaluated and folders are created automatically as part of the copy command execution, eliminating unnecessary computational steps.

Inventive Principle:
Principle #25Self-service

3Ease of operation

If traditional export methods are used with single-node processing, then the process is simple to implement, but the data processing speed is slow and scalability is limited

Engineering Contradiction:
Improveexport process simplicityVSAvoiddata processing speed
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The export process is segmented across multiple database nodes that operate in parallel. Each node processes a portion of the data independently, evaluating partition expressions and writing to destination folders simultaneously. This segmentation enables linear scalability with the number of nodes while maintaining operational simplicity through a unified copy command.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system transitions from single-node sequential processing to multi-node parallel processing, adding the dimension of distributed computation. The copy command is executed across multiple nodes that work simultaneously on different data partitions, dramatically increasing processing speed while the unified command interface maintains ease of operation.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS20240211491A1Export data from tables into partitioned folders on an external data lake
Publication Date: 2024.06.27 SNOWFLAKE INC
  • US20240211491A1 patent drawing
  • US20240211491A1 patent drawing
  • US20240211491A1 patent drawing

AI summary

A database export system exports data using a plurality of nodes that process the data to generate structured result files that are partitioned by an export parameter in an export request. The database export system distributes the data and merges the files to avoid small file creation and increase processing speed via parallelism. The database export system generates the result files of a specified maximum size in a final format, where the files are processed merged in a temporary file format. The parallel processing is optimized and constrained per the amount of processing nodes, available memory, requested final file sizes, and operation based ordering to complete data exports in a scalable multi-stage approach.