MapReduce Split Elimination via Value Cluster Indexing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current query processing in distributed systems like Hadoop's MapReduce struggles with inefficiencies due to the need to access irrelevant data splits, leading to high costs and minimal performance gains from existing indexing techniques, especially in scenarios with evolving workloads and unstructured data.

Innovation Solution

The implementation of split-oriented indexing techniques, including inverted indexes, domain segmentation, materialized views, and adaptive caching, which eliminate irrelevant data splits by leveraging range statistics and caching frequently accessed values, allowing for efficient query execution without requiring user-specified physical design or data reorganization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional query processing in MapReduce is used, then data can be accessed through distributed file system, but irrelevant data splits must be accessed leading to high processing costs and slow query response

Engineering Contradiction:
Improvequery response timeVSAvoiddata processing cost
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system performs preliminary actions by pre-computing and storing value clusters with their ranges and block identifiers before query execution. This allows the query processor to directly access relevant blocks without scanning entire datasets, thereby reducing query response time and processing costs.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary structure (the value cluster index) that mediates between the query and the distributed data blocks. This index maps query predicates to relevant blocks, enabling selective access to only the necessary data partitions rather than processing all data.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If indexing techniques are implemented to improve query performance, then relevant data can be located faster, but existing techniques provide minimal performance gains and require user-specified physical design

Engineering Contradiction:
Improvequery execution efficiencyVSAvoidindexing system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system implements self-service by automatically generating value clusters and their associated indices without requiring user intervention for physical data design. The framework autonomously analyzes data distributions and creates optimal block mappings, eliminating the need for users to specify physical design parameters while maintaining high query performance.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If data is organized into blocks for distributed processing, then system scalability is improved, but irrelevant blocks must be processed reducing overall efficiency

Engineering Contradiction:
Improvesystem scalabilityVSAvoiddata processing efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent applies segmentation by dividing data into blocks and further segmenting the index into value clusters associated with specific blocks. This multi-level segmentation enables the system to maintain scalability while efficiently identifying and processing only relevant blocks through predicate-based selection.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10691646B2Split elimination in mapreduce systems
Publication Date: 2020.06.23 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10691646B2 patent drawing
  • US10691646B2 patent drawing
  • US10691646B2 patent drawing

AI summary

Embodiments of the present invention relate to elimination of blocks such as splits in distributed processing systems such as MapReduce systems using the Hadoop Distributed Filing System (HDFS). In one embodiment, a method of and computer program product for optimizing queries in distributed processing systems are provided. A query is received. The query includes at least one predicate. The query refers to data. The data includes a plurality of records. Each record comprises a plurality of values in a plurality of attributes. Each record is located in at least one of a plurality of blocks of a distributed file system. Each block has a unique identifier. For each block of the distributed file system, at least one value cluster is determined for an attribute of the plurality of attributes. Each value cluster has a range. The predicate of the query is compared with the at least one value cluster of each block. The query is executed against only those blocks where the predicate is met by at least one value cluster.