SQL Query Partitioning for Large Database Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Processing large amounts of data, such as multiple terabytes, is computationally expensive and time-consuming, often requiring compromises on accuracy or resource usage in conventional systems.

Innovation Solution

A hierarchical arrangement of commodity computing devices is used, where SQL queries are partitioned into tasks and distributed among cluster nodes, allowing for efficient processing with unreliable messaging to enhance task execution and data aggregation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If conventional processing methods are used on large datasets (multiple terabytes), then processing can be performed on complete data, but processing time becomes excessively long and computational resources are overwhelmed

Engineering Contradiction:
Improvedata processing accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent divides the large dataset into multiple partitions distributed across different computing nodes in a cluster. Each node processes a specific partition independently, allowing parallel execution of processing tasks. This segmentation enables the system to handle terabytes of data by breaking it into manageable chunks that can be processed simultaneously, dramatically reducing overall processing time while maintaining complete data processing capability.

Inventive Principle:
Principle #1Segmentation

2Loss of time

If sample sets are used to reduce processing time, then processing speed increases, but accuracy is compromised

Engineering Contradiction:
Improveprocessing timeVSAvoiddata processing accuracy
Core Design Contradiction:
Loss of timeVSMeasurement precision

Solution Approach 1:

Instead of using sample sets that compromise accuracy, the patent segments the complete dataset into partitions and processes all data in parallel across multiple nodes. This approach maintains full data processing accuracy while achieving speedup through parallel execution, eliminating the need to sacrifice accuracy for time savings.

Inventive Principle:
Principle #1Segmentation

3Productivity

If high performance computing devices are used to process large datasets quickly, then processing speed improves, but system cost increases significantly

Engineering Contradiction:
Improveprocessing speedVSAvoidsystem cost
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges multiple commodity computing devices into a clustered system that functions as a unified high-performance processing platform. By combining the processing power of multiple standard nodes working in parallel, the system achieves performance levels comparable to expensive dedicated systems while using off-the-shelf hardware, thereby reducing overall system cost.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The computing nodes in the cluster are designed to be universal and multi-functional, capable of performing various data processing tasks across different partitions. This use of general-purpose commodity devices rather than specialized expensive hardware maintains flexibility and reduces costs while achieving high processing throughput through coordinated parallel operation.

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

4Device complexity

If computing resources are reduced to lower costs, then system expense decreases, but processing capability is insufficient for large datasets

Engineering Contradiction:
Improvesystem costVSAvoidprocessing capability
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent segments the processing workload across multiple low-cost commodity nodes, allowing each node to handle a portion of the data in parallel. This segmentation enables the system to achieve high overall processing capability using inexpensive individual components, as the collective power of multiple nodes compensates for the limited capability of each individual node.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7624118B2Data processing over very large databases
Publication Date: 2009.11.24 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7624118B2 patent drawing
  • US7624118B2 patent drawing
  • US7624118B2 patent drawing

AI summary

A system that facilitates data processing includes a receiver component that receives an SQL query. A partitioning component partitions the SQL query into multiple tasks and provides the tasks to multiple cluster nodes for processing. The system enables very large amounts of data (e.g., multiple terabytes) to be quickly prepared for analytical processing, such as for use in connection with a search engine, an advertisement provision system, etc.