MapReduce SQL Conversion for Distributed File System Analytics

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current approaches for querying large datasets stored in flat files are expensive and time-consuming, requiring significant investment in relational database management systems (RDBMS) and data preprocessing, making it inaccessible for smaller enterprises and inefficient for large datasets.

Innovation Solution

A system that converts ANSI SQL expressions into map-reduce programs for processing directly on flat files, allowing data-centric applications to operate without rewriting existing applications and enabling on-the-fly dimensional views using the BCAT aggregate operator, which aggregates sessions based on user navigation paths.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If data is loaded into RDBMS for querying, then query performance is improved, but hardware and maintenance cost increases significantly

Engineering Contradiction:
Improvequery performanceVSAvoidhardware and maintenance cost
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent introduces MapReduce as an intermediary processing layer between flat files and query results. Instead of loading data into RDBMS, the system uses MapReduce programs to process queries directly on flat files, eliminating the need for expensive RDBMS infrastructure while maintaining query capability through distributed processing

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates virtual copies of database operations through MapReduce implementations. SQL operations like SELECT, JOIN, and aggregation are replicated as MapReduce jobs that process flat files directly, providing database-like functionality without requiring actual database systems

Inventive Principle:
Principle #26Copying

2Ease of operation

If ETL process is used to load data into RDBMS, then data accessibility is improved, but time required increases to months

Engineering Contradiction:
Improvedata accessibilityVSAvoidtime required for data preparation
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent performs preliminary actions by pre-compiling MapReduce programs from SQL queries and caching them. When data arrives in flat files, the pre-compiled programs can immediately process the data without requiring time-consuming ETL transformations, enabling rapid data accessibility

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent extracts the essential data processing functionality from RDBMS and implements it separately through MapReduce. This separation allows direct processing of flat files without requiring data to be transformed into database formats, eliminating the ETL time bottleneck

Inventive Principle:
Principle #2Taking out (Extraction)

3Adaptability or versatility

If MapReduce is used for ad-hoc information extraction, then flexibility is improved, but lack of data warehousing functionality limits usability

Engineering Contradiction:
Improveflexibility for ad-hoc queriesVSAvoidlack of data warehousing functionality
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent makes MapReduce universally applicable to both ad-hoc queries and structured data warehousing operations. By implementing SQL operations (SELECT, JOIN, GROUP BY, etc.) as MapReduce programs, the system provides both the flexibility of ad-hoc processing and the structured functionality of data warehousing through a single unified approach

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

Data Source

PatentUS7917463B2System and method for data warehousing and analytics on a distributed file system
Publication Date: 2011.03.29 THRYV INC
  • US7917463B2 patent drawing
  • US7917463B2 patent drawing
  • US7917463B2 patent drawing

AI summary

A computer implemented method for executing an ANSI SQL expression belonging to the SELECT-WHERE-equi-JOIN class on data residing in a distributed file system, said method comprising the steps of entering the ANSI SQL expression into a user interface; converting the ANSI SQL expression into a map-reduce program; running the map-reduce program on the distributed file system; storing the result set of the program in the distributed file system; and presenting the result set through a user interface.