Query Rewriting System Using Materialized Views
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data analytics systems face performance issues due to the complexity of queries that ingest large datasets and span multiple MapReduce jobs, making it challenging to efficiently analyze large-scale data and produce actionable insights, especially in knowledge-driven enterprises where data value is unknown and exploratory analysis is iterative.
Innovation Solution
A system that supports evolutionary analytics by rewriting workflows to be more efficient using answers materialized from previous workflow execution runs, integrating a query rewriting component with a query execution engine, and utilizing a gray-box UDF model to optimize query execution through opportunistic materialized views and cost estimation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If queries ingest large datasets and span multiple MapReduce jobs to perform exploratory analysis, then the ability to test hypotheses and refine queries is improved, but query execution time and system resource consumption increase significantly
Solution Approach 1:
The system pre-materializes intermediate query results and stores them in a materialized view store before they are needed. When a query is executed, the system checks for matching materialized views and reuses them directly, avoiding the need to re-execute expensive MapReduce jobs. This preliminary action of materializing results resolves the contradiction by making past computational work available for future queries, thus reducing execution time while maintaining the ability to perform iterative exploratory analysis.
Solution Approach 2:
The system creates copies of intermediate computation results in the form of materialized views that can be stored and reused. Instead of重新 computing the same data transformations multiple times across different queries, the system copies the results into a persistent store and references them. This copying mechanism allows analysts to iteratively refine queries without incurring the full computational cost of re-processing large datasets, thereby reducing execution time while preserving analytical flexibility.
2Reliability
If MapReduce systems materialize intermediate job results to support fault tolerance, then reliability is improved, but a large set of materialized views is created that consumes significant system resources
Solution Approach 1:
The system makes the materialized views serve dual purposes: they provide fault tolerance by preserving intermediate results (original MapReduce function) and simultaneously serve as cached data for optimizing future query executions (new analytical function). By making the materialized views universally useful for both reliability and performance, the system justifies the resource consumption through multiple benefits rather than single-purpose overhead.
Solution Approach 2:
The system enables previous query executions to serve future queries automatically through the materialized view store. When new queries are submitted, the system self-optimizes by automatically detecting opportunities to reuse materialized views without requiring manual intervention. This self-service mechanism reduces the effective resource consumption by having the system reuse its own previously computed results, turning resource expenditure into reusable assets.
3Loss of information
If ETL processes are performed on large, flat, low-structure logs to extract value, then data analysis capability is improved, but the expense and complexity of ETL increase
Solution Approach 1:
Instead of performing complex ETL transformations only when needed, the system pre-processes and materializes intermediate results from raw logs during initial query executions. These materialized views contain pre-computed aggregations and transformations that would otherwise require expensive ETL processes. By performing this transformation work preliminarily and storing results, the system reduces the complexity of subsequent analysis operations while maintaining full data value extraction capability.
Data Source
AI summary
A system for evolutionary analytics supports three dimensions (analytical workflows, the users, and the data) by rewriting workflows to be more efficient by using answers materialized as part of previous workflow execution runs in the system.


