Sorting Unsorted Rows After Join Operation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current distributed data processing systems face inefficiencies in reordering datasets after a JOIN operation, particularly in big data systems like Hadoop, where the n·log(n) complexity of sorting algorithms becomes impractical due to the large number of permutations and repeated data duplication during annotation processes.

Innovation Solution

A storage layer is introduced that allows for efficient reordering of datasets by grouping rows into buckets based on a root dataset, sorting each bucket independently, and combining them, which reduces computational complexity to near linear by utilizing a hybrid file format and annotation data layers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If a merge sort algorithm is used to order rows after a JOIN operation, then the rows are sorted correctly, but the computational complexity becomes n·log(n) which is inefficient for large datasets

Engineering Contradiction:
Improvesorting accuracyVSAvoidprocessing efficiency
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The patent divides the dataset into multiple partitions based on the join key, processes each partition independently through sorting, and then combines the sorted partitions. This segmentation approach reduces the overall sorting complexity from O(n log n) to O(n) by leveraging the fact that each partition is already partially sorted and can be merged efficiently.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary sorting of data within each partition before the final merge operation. By pre-sorting each partition independently, the system prepares the data in an optimal state for the subsequent linear-time merge operation, avoiding the need for a complete sort of the entire dataset.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If data is duplicated multiple times for annotation purposes, then additional data can be added to the original dataset, but the storage space and processing overhead increase significantly

Engineering Contradiction:
Improvedata annotation capabilityVSAvoiddata volume
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent introduces an annotation layer that sits on top of the original data without duplicating it. This intermediary layer stores only the additional annotation information and references back to the original data, allowing multiple annotations to be added while maintaining a single copy of the base dataset.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements a nested data structure where annotation layers are embedded within the storage system hierarchy. The annotation data is organized in a nested fashion where each annotation layer can contain references to previous layers and the original data, creating a compact multi-layered structure that avoids redundant storage.

Inventive Principle:
Principle #7Nested doll (Nesting)

Data Source

PatentUS11947927B2Sorting unsorted rows of a composite dataset after a join operation
Publication Date: 2024.04.02 YAHOO ASSETS LLC
  • US11947927B2 patent drawing
  • US11947927B2 patent drawing
  • US11947927B2 patent drawing

AI summary

Disclosed are embodiments for sorting rows of a dataset after a JOIN operation. In one embodiment, a method is disclosed comprising performing a JOIN operation on an annotation dataset, the performing of the JOIN operation generating an unordered dataset; grouping a plurality of rows in the unordered dataset into a plurality of buckets, the grouping performed based on a root dataset associated with the annotation dataset; sorting each bucket, the sorting comprising sorting each bucket independently; and combining each sorted bucket into a sorted dataset.