Dynamic Resource Allocation for Database Segment Failover

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Massively parallel processing (MPP) relational databases face performance degradation and increased downtime due to the need for rebalancing and resource reallocation when a segment host fails, leading to overloaded mirror segment instances and reduced query speed and consistency.

Innovation Solution

Implementing primary and mirror segment instances using containers, allowing dynamic resource allocation and promoting mirror instances to primary roles without rebalancing, thereby reducing resource consumption and downtime.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If mirror segment instances are allocated full computing resources to take over failed primary instances, then reliability is improved, but device complexity and performance degradation occur due to overloading

Engineering Contradiction:
Improvedatabase availabilityVSAvoidresource management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic resource allocation where mirror segment instances can be promoted to primary instances with automatic resource adjustment. When a primary instance fails, its mirror is promoted and the system dynamically allocates the freed resources to the promoted instance, avoiding overloading and maintaining optimal performance without complex manual intervention

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the operational state parameter of segment instances from static roles to dynamic states. Mirror instances can transition to primary instances and their resource allocation parameters are automatically adjusted based on their new role, enabling flexible adaptation to failures while maintaining system balance

Inventive Principle:
Principle #35Parameter changes

2Stability of the object's composition

If rebalancing is performed when a segment host fails, then resource distribution is improved, but productivity decreases due to downtime

Engineering Contradiction:
Improveresource distributionVSAvoidquery processing speed
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The patent prepares mirror segment instances in advance as ready-to-promote replicas. When a failure occurs, the pre-prepared mirror can immediately take over without requiring time-consuming rebalancing operations, thus maintaining continuous query processing and avoiding downtime while ensuring proper resource distribution

Inventive Principle:
Principle #10Preliminary action

3Productivity

If segment nodes operate at full capacity with both primary and mirror instances, then productivity is improved, but reliability worsens due to overload during failures

Engineering Contradiction:
Improvequery processing throughputVSAvoidquery speed consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system enables self-service through automatic failover where mirror instances autonomously promote themselves to primary instances upon detecting failures. This self-service mechanism ensures continuous operation at full capacity while maintaining reliability, as the promotion process is automatic and does not require manual intervention or cause system overload

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10901864B2Light-weight mirror container
Publication Date: 2021.01.26 VMWARE INC
  • US10901864B2 patent drawing
  • US10901864B2 patent drawing
  • US10901864B2 patent drawing

AI summary

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for allocating a number of first containers to implement one primary segment instance each and a number of second containers to implement one mirror segment instance each. In one example system, the second containers are configured to have less computing resources than the first containers. The containers are distributed among a number of physical computers. The system receives an indication of a failure of a physical computer hosting a particular first container implementing a first primary segment instance. In response to receiving the indication, the system promotes a second mirror segment instance that is a mirror of the first primary segment instance to be a new primary segment instance. The system allocates additional resources to the particular second container implementing the promoted mirror segment instance.