Map-Reduce Join Optimization via Region Key Counting

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current map-reduce join operations are inefficient due to high memory and processor usage, especially when dealing with large data structures, and existing methods like Map-Side join, Semi Join, and Per Split Semi Join either fail to load large data structures in memory or result in redundant data processing.

Innovation Solution

A computer-implemented method optimizing the join operation by executing map operations on a second data structure, grouping data, retrieving descriptive metadata, and selecting between a scan or look-up approach based on key-value pairs and pre-determined conditions, using region key counters to register key counts and emit values before data tuples, thereby reducing memory usage and improving computational efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If Map-Side join is used to load data structure in memory, then join operation speed is improved, but memory usage becomes excessive when data structure is too large

Engineering Contradiction:
Improvejoin operation speedVSAvoidmemory usage
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent divides the large data structure into multiple smaller partitions that can be processed separately. Each partition is handled individually through multiple map-reduce jobs, allowing the system to process large datasets without loading everything into memory simultaneously. This segmentation enables efficient join operations on manageable data subsets while avoiding excessive memory consumption.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of processing by implementing a multi-phase map-reduce approach with intermediate storage. Instead of a single in-memory join operation, the solution adds temporal and storage dimensions through multiple processing stages, allowing data to be persisted and reprocessed in controlled batches rather than requiring all data to reside in memory at once.

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

2Reliability

If Semi Join with three map-reduce jobs is used, then join operation is performed, but network shuffling time and processor time increase significantly

Engineering Contradiction:
Improvejoin operation completionVSAvoidnetwork shuffling time and processor time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary filtering and partitioning actions in the map phase before the reduce phase. By pre-processing the data to identify and group only the necessary records that will participate in the join, the system reduces the volume of data that needs to be shuffled across the network and processed in subsequent stages, thereby reducing overall execution time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent extracts and processes only the relevant portions of the data structures needed for the join operation. Rather than shuffling and processing entire datasets, the solution identifies and extracts specific records matching the join keys, reducing network traffic and processor workload while maintaining join operation reliability.

Inventive Principle:
Principle #2Taking out (Extraction)

3Quantity of substance

If Per Split Semi Join is used to process segments, then memory usage is reduced, but redundant data processing occurs due to multiple splits

Engineering Contradiction:
Improvememory usageVSAvoidprocessing efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent implements a feedback mechanism through metadata tracking and region key counters that monitor which data regions have been processed. This feedback system prevents redundant processing by tracking the state of each partition across multiple map-reduce jobs, ensuring that each data segment is processed only once even when the same reducer handles multiple partitions, thereby maintaining high processing efficiency while using minimal memory.

Inventive Principle:
Principle #23Feedback

4Reliability

If three map-reduce operations are used for Semi Join, then join operation is achieved, but memory consumption and processor time increase

Engineering Contradiction:
Improvejoin operation achievementVSAvoidmemory consumption and processor time
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent merges multiple map-reduce operations into a more efficient unified process. By combining the filtering, partitioning, and joining operations into an optimized multi-phase approach with shared intermediate storage, the system achieves the same join operation reliability while reducing total memory consumption and processor time compared to executing three separate map-reduce jobs.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS10185743B2Method and system for optimizing reduce-side join operation in a map-reduce framework
Publication Date: 2019.01.22 INMOBI TECHNOLOGY SERVICES PTE LTD
  • US10185743B2 patent drawing
  • US10185743B2 patent drawing
  • US10185743B2 patent drawing

AI summary

The present invention provides a system and method for optimizing reduce-side join operation in a map-reduce framework. The system and method executing one or more map operations on the second data structure, grouping the data tuples to a single region of the second data structure, providing the grouped data to a single reducer and, selecting one of scan approach and a look-up approach by one or more reducers based on region key count value and pre-determined conditions of the user.