Materialized Query Table Placement for Distributed Database Load Distribution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current Materialized Query Table Advisors (MQTAs) are ineffective in distributed environments as they do not consider MQT dependency, leading to increased network latency and inefficient load distribution, as they are designed for standalone databases and do not offload traffic effectively from backend databases.
Innovation Solution
The proposed solution involves deriving MQT dependency and extending MQTA functionality by using a Data Placement Advisor (DPA) to replicate MQTs to remote servers, offloading workload from backend databases, and minimizing network latency by placing MQTs close to users and applications, considering computational, input/output, and network costs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If MQTAs are used in distributed environments without considering MQT dependency, then query processing can be performed at remote servers, but network latency increases and load distribution becomes inefficient
Solution Approach 1:
The system performs preliminary analysis of MQT dependencies before deploying MQTs to remote servers. By pre-calculating which MQTs can be effectively placed at remote locations based on dependency analysis, the system avoids unnecessary network round-trips and reduces latency for query execution.
Solution Approach 2:
The patent implements location-specific MQT placement strategies where MQTs are deployed to remote servers based on their dependency characteristics and query access patterns. This local optimization ensures that MQTs are placed where they can be most effective, reducing network latency for specific query workloads while maintaining overall system efficiency.
2Productivity
If MQTs are replicated to remote servers without dependency analysis, then traffic offloading can occur, but load distribution becomes inefficient
Solution Approach 1:
The system implements feedback mechanisms that monitor query execution patterns and MQT usage at remote servers. This feedback information is used to dynamically adjust MQT placement and replication strategies, optimizing load distribution while accounting for dependency relationships between MQTs and base tables.
Solution Approach 2:
Before replicating MQTs to remote servers, the system performs preliminary dependency analysis to determine the optimal replication strategy. This pre-planning ensures that only MQTs with appropriate dependency characteristics are replicated, simplifying the overall load distribution architecture while maximizing traffic offloading effectiveness.
3Ease of operation
If MQTs are placed on the same server as base tables, then query processing is simplified, but in distributed environments this does not offload traffic from backend databases
Solution Approach 1:
The patent segments the database system into frontend and backend components, with MQTs strategically placed at remote servers between them. This segmentation allows the system to maintain simplified query processing at each level while enabling effective traffic offloading from backend databases to remote servers through intelligent MQT placement based on dependency analysis.
Data Source
AI summary
A system and method of evaluating queries in distributed databases with MQTs comprises deriving MQTs; replicating the derived MQTs from a local server to at least one remote server; and distributing data and replicated derived MQTs to a plurality of other remote servers, wherein the distributing increases overall query execution efficiency. The databases may comprise heterogeneous databases. The query execution efficiency comprises observed response time at a frontend database and associated costs comprising computational central processing unit costs, input/output costs, and network communication costs. All of the associated costs comprise statistically estimated costs. The method further comprises running a MQT advisor at a frontend database, and considering the costs of at least one MQT placed at the frontend database. The method further comprises running a MQT advisor at a non-frontend database. Additionally, the increased overall query execution efficiency may consider all dependencies of all involved database instances and associated costs.


