Index Recommendation System for Data Lake Workload Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data lakes face challenges in efficiently managing and querying large volumes of unstructured data due to the lack of effective indexing solutions, particularly in distributed database systems and cloud-based architectures, where disparate query engines cannot use common indexes, hindering performance and scalability.

Innovation Solution

A system is developed to optimize data workloads through 'what-if' modeling and index recommendation, which identifies indexable columns from queries, generates candidate indexes, and selects the best ones based on performance increase, enabling multi-engine interoperability and concurrent index management in a data lake environment.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If indexing solutions are implemented in distributed database systems and cloud-based architectures, then query performance is improved, but device complexity increases due to the need to manage indexes across disparate query engines

Engineering Contradiction:
Improvequery performanceVSAvoidindex management complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent segments the index management system into distinct components: an index recommendation engine that analyzes query patterns, an index generation module that creates candidate indexes, and an index deployment system that applies selected indexes across multiple query engines. This segmentation allows each component to specialize in specific tasks, improving overall system efficiency while managing complexity through modular design.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary index recommendation system that sits between the disparate query engines and the data lake. This intermediary analyzes query patterns from multiple engines, generates unified index recommendations, and manages index deployment across different engines. The intermediary translates diverse query engine requirements into a common index framework, enabling multi-engine interoperability without requiring each engine to implement complex index management independently.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If multiple query engines are supported with common indexes, then adaptability is improved, but device complexity increases due to the need for index compatibility across different engines

Engineering Contradiction:
Improvemulti-engine interoperabilityVSAvoidindex compatibility management
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a universal index format that can be used across multiple query engines. The index recommendation system generates indexes in a standardized format that accommodates different engine requirements. This universal approach allows a single index structure to serve multiple engines simultaneously, enhancing adaptability while avoiding the complexity of maintaining separate index systems for each engine.

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

Solution Approach 2:

The patent employs parameter-based index configuration that allows the same index structure to be adapted to different query engines by modifying specific parameters. The index recommendation system analyzes the capabilities and requirements of each engine and adjusts index parameters accordingly. This parameter flexibility enables common indexes to work across disparate engines without requiring fundamental structural changes for each engine type.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If indexes are built on large volumes of unstructured data, then productivity is improved through faster data retrieval, but use of energy increases due to the computational resources required for index creation and maintenance

Engineering Contradiction:
Improvedata retrieval speedVSAvoidcomputational resource consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent implements preliminary index recommendation and selection before actual index creation. The system analyzes query patterns and pre-identifies which indexes would provide the most benefit. By performing this analysis beforehand, the system avoids creating indexes that would consume computational resources without providing sufficient performance improvement. Only the most beneficial indexes are created and maintained, optimizing the balance between retrieval speed and energy consumption.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent incorporates a feedback mechanism where the index recommendation system continuously monitors query performance and index effectiveness. Based on this feedback, the system dynamically adjusts which indexes to maintain, create, or remove. This feedback-driven approach ensures that computational resources are allocated to indexes that actually improve productivity, eliminating waste on ineffective indexes and adapting to changing query patterns over time.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11275734B2Data lake workload optimization through index modeling and recommendation
Publication Date: 2022.03.15 MICROSOFT TECHNOLOGY LICENSING LLC
  • US11275734B2 patent drawing
  • US11275734B2 patent drawing
  • US11275734B2 patent drawing

AI summary

Methods, systems and computer program products are described herein that enable data workload optimization through “what-if” modeling of indexes and index recommendation. In an example aspect, a system is configured to accept a workload in the form of a plurality of data queries, extract indexable columns from the queries, generate candidate indexes from the indexable columns, select and then build the best candidate indexes. Furthermore, the system may receive a query, generate a query plan for the query configured to use one or more of the built candidate indexes, and execute the query plan to generate a query result.