Partitioning Advisor for OLTP Workload Dependency Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing database partitioning techniques for online transaction processing (OLTP) applications are challenging due to complexity with hundreds of tables and transaction types, as they often assume equal transaction costs, leading to inefficient distribution of transactions across multiple partitions.

Innovation Solution

A partitioning advisor analyzes the database schema and workload to generate a workload dependency graph, visualizing how sharding affects the workload and calculating an estimated workload cost for different partitioning strategies, recommending strategies that minimize overall workload cost by co-locating or distributing partitions based on dependency and cost analysis.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If existing partitioning techniques are used to minimize distributed transactions, then the percentage of distributed transactions is reduced, but the overall workload cost is not optimized because equal cost assumptions are made for all transactions

Engineering Contradiction:
Improvepartitioning strategy effectivenessVSAvoidworkload cost efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent changes the parameter of transaction cost evaluation from a uniform assumption to a differentiated model that considers transaction size, complexity, and resource consumption. The workload cost model calculates actual costs based on these varying parameters, enabling optimization beyond simply minimizing distributed transaction percentages.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system implements feedback by using the query optimizer to calculate actual workload costs for different partitioning strategies and iteratively selecting the strategy with the lowest estimated cost. This feedback loop allows continuous optimization based on real workload characteristics rather than static rules.

Inventive Principle:
Principle #23Feedback

2Productivity

If the database is horizontally partitioned across multiple servers, then scalability is improved, but transaction distribution overhead increases due to complex workloads with hundreds of tables and transaction types

Engineering Contradiction:
Improvedatabase scalabilityVSAvoidtransaction distribution complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a partitioning advisor as an intermediary system that analyzes the workload dependency graph and recommends optimal partitioning strategies. This intermediary handles the complexity of analyzing hundreds of tables and transaction types, shielding the actual partitioning process from manual complexity while enabling scalable deployment.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary analysis by generating a workload dependency graph that maps relationships between tables and transactions before implementing partitioning. This preliminary action identifies optimal partitioning keys and strategies in advance, reducing the complexity of actual transaction distribution during runtime.

Inventive Principle:
Principle #10Preliminary action

3Loss of energy

If partitioning strategies are designed to limit transactions to single servers, then distributed transaction overhead is reduced, but the ability to leverage scale-out benefits is compromised

Engineering Contradiction:
Improvedistributed transaction overheadVSAvoidscale-out benefit utilization
Core Design Contradiction:
Loss of energyVSProductivity

Solution Approach 1:

The patent applies local quality by allowing different partitioning strategies for different parts of the workload based on their specific characteristics. The system identifies which transactions can be localized to single servers and which can benefit from distribution, applying appropriate strategies locally rather than uniformly across all transactions.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system implements dynamic partitioning strategies that adapt to different transaction types and workload patterns. Rather than a static single-server limitation, the system dynamically determines whether to localize or distribute transactions based on real-time workload analysis and cost calculations.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10191947B2Partitioning advisor for online transaction processing workloads
Publication Date: 2019.01.29 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10191947B2 patent drawing
  • US10191947B2 patent drawing
  • US10191947B2 patent drawing

AI summary

A partitioning advisor for online transaction processing (OLTP) workloads generates a workload dependency graph based on a schema defining a structure of a relational database and a workload associated with an OLTP application that accesses the relational database. Based on the workload dependency graph, the partitioning advisor generates one or more partitioning strategy recommendations for sharding the relational database. The partitioning advisor may also render a visualization based on the workload dependency graph, enabling a user to see the impact each recommended partitioning strategy is predicted to have.