Skewed Dataset Joining in Distributed Computing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed computing environments, heavily skewed datasets during join operations lead to inefficient data processing, causing significant delays and idle compute resources due to uneven data distribution across machines, resulting in wasted resources and prolonged processing times.

Innovation Solution

A system and method that identifies skewed datasets, assigns a random machine number as a new attribute, replicates non-skewed datasets based on a determined replication factor, and merges these replicas with the skewed dataset, redistributing data to balance the load across nodes, thereby reducing skew and improving processing efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If hash partitioning is used to distribute data across machines, then data can be organized by join keys, but heavily skewed join attributes cause large numbers of rows to be transferred to specific machines, resulting in uneven shuffle pressure and processing delays

Engineering Contradiction:
Improvejoin operation efficiencyVSAvoidprocessing delay
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs preliminary detection of data skewness in the dataset before executing the join operation. By identifying skewed join attributes in advance, the system can apply appropriate handling strategies (such as skipping skewed rows or using alternative join methods) to prevent the skew from causing processing delays, thus resolving the contradiction between maintaining join efficiency and avoiding time loss from skewed data distribution

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically changes the join strategy based on the detected skewness parameter of the data. When skewness is detected, the system switches from standard hash partitioning to alternative approaches such as sampling-based skew detection, selective skipping of skewed rows, or using different partitioning strategies, thereby adapting the processing parameters to mitigate the negative effects of data skew and reduce processing delays

Inventive Principle:
Principle #35Parameter changes

2Productivity

If data is heavily skewed towards specific join attributes, then a large number of rows must be shuffled to machines responsible for those keys, but this causes significant delay and leaves majority of cluster machines idle, wasting compute resources

Engineering Contradiction:
Improveresource utilizationVSAvoidwasted compute resources
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

Instead of attempting to process all skewed data through the standard shuffle mechanism, the system applies partial action by selectively handling only the non-skewed portions of the data using conventional join methods, while applying specialized handling (such as sampling or skipping) to the skewed portions. This partial approach prevents the entire join operation from being bottlenecked by skewed data, thereby improving overall resource utilization and reducing wasted compute resources on idle machines

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If standard join operations are performed on skewed datasets, then join keys can be matched across datasets, but the extraction and enrichment process becomes inefficient due to the skewed distribution

Engineering Contradiction:
Improvedata extraction efficiencyVSAvoidprocessing complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system performs preliminary skewness detection and analysis on the datasets before initiating the join operation. By identifying skewed join attributes and affected data portions in advance, the system can prepare alternative processing paths or parameters, thereby simplifying the overall processing complexity while maintaining efficient data extraction and enrichment operations

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically adjusts processing parameters based on detected skewness, such as changing from full dataset joins to sampled joins for skewed portions, or adjusting partitioning strategies. This parameter adaptation simplifies the processing complexity by avoiding the need to handle all skewed data through complex shuffle operations, thereby improving data extraction efficiency

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11615094B2System and method for joining skewed datasets in a distributed computing environment
Publication Date: 2023.03.28 HCL TECH LTD
  • US11615094B2 patent drawing
  • US11615094B2 patent drawing
  • US11615094B2 patent drawing

AI summary

Disclosed is a method and system for joining datasets in a distributed computing environment. The system comprises a memory 206 and a processor 202. The processor 202 identifies a skewed dataset from two or more datasets to be joined. The processor 202 identifies a replication parameter from a configuration file. The processor 202 then assigns a randomly assigned machine number to each chunk of the skewed dataset owned by the nodes/machines involved in the join operation. The processor 202 forms copies of the non-skewed dataset equal to the replication parameter and adds the copy number to each sample of the copy of the non-skewed dataset formed. Further, the processor 202 merges each non-skewed dataset into the final copy of the non-skewed dataset, forming a single non skewed dataset. The processor 202 then repeats these steps for all the non-skewed datasets involved in the join operation resulting in generation of merged copies of all the non-skewed datasets and then performs the joining operation.