Column Ordering for Input Output Optimization in Tabular Data

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Large data tables with thousands of columns require significant computational resources for query operations due to inefficient column ordering, leading to high input/output costs and prolonged query response times.

Innovation Solution

A computing system determines a new column order based on query statistics, user preferences, and hardware and system parameters to minimize input/output costs by reordering columns, applying the new order to both new and existing data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If data is stored sequentially as it is input, then storage simplicity is improved, but query computational cost increases due to unrelated columns being stored adjacent to one another

Engineering Contradiction:
Improvestorage simplicityVSAvoidquery computational cost
Core Design Contradiction:
Ease of manufactureVSDevice complexity

Solution Approach 1:

The system performs preliminary analysis of query patterns before finalizing the column order. By examining historical query statistics and access patterns, the system pre-determines the optimal column arrangement that anticipates future query needs, thereby reducing computational cost without sacrificing storage simplicity

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically changes the column order parameter based on query statistics and access patterns. Instead of maintaining a fixed sequential order, the column positions are adjusted according to measured performance metrics, transforming the static storage layout into an adaptive one that optimizes query efficiency

Inventive Principle:
Principle #35Parameter changes

2Loss of time

If columns are reordered to improve query efficiency, then query response time is reduced, but storage system complexity increases

Engineering Contradiction:
Improvequery response timeVSAvoidstorage system complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The storage system performs self-optimization by automatically analyzing its own query patterns and adjusting column orders without external intervention. The system monitors its performance metrics, identifies optimization opportunities, and reorganizes data accordingly, reducing query response time while managing complexity through automation

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system implements a feedback loop where query performance metrics are continuously measured and fed back into the column ordering algorithm. This feedback mechanism allows the system to learn from actual performance data and make informed adjustments to column arrangements, balancing query efficiency improvements with system complexity management

Inventive Principle:
Principle #23Feedback

3Loss of energy

If column order is optimized based on query statistics, then input/output cost is reduced, but system adaptability decreases due to reliance on historical data

Engineering Contradiction:
Improveinput/output costVSAvoidsystem adaptability
Core Design Contradiction:
Loss of energyVSAdaptability or versatility

Solution Approach 1:

The column order is made dynamic rather than static, allowing the system to adapt to changing query patterns over time. The optimization is continuously updated based on new query statistics, ensuring that the system remains adaptable to evolving workloads while maintaining reduced I/O costs through ongoing optimization

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11514011B2Column ordering for input/output optimization in tabular data
Publication Date: 2022.11.29 MICROSOFT TECHNOLOGY LICENSING LLC
  • US11514011B2 patent drawing
  • US11514011B2 patent drawing
  • US11514011B2 patent drawing

AI summary

Systems, methods, and computer-readable media for determining column ordering of a data storage table for search optimization are described herein. In some examples, a computing system is configured to receive input containing statistics of a plurality of queries. The computing system can then determine a new column order (i.e., layout) based at least in part on the statistics. In some example techniques described herein, the computing system can determine the new column order based at least in part on the hardware components storing the data storage table, storage system parameters, and/or user preference information. Example techniques described herein can apply the new column order to data subsequently added to the data storage table. Example techniques described herein can apply the new column order to existing data in the data storage table.