Partitioning Advisor for OLTP Workload Dependency Analysis
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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.
Data Source
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.


