Resilience-Based Database Placement in Clustered Environments

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In database clusters, existing reconfiguration algorithms are suboptimal for maximizing cluster-wide performance and availability due to the complexity of optimal pluggable database placement across multiple container databases, leading to imbalanced resource distribution and increased database latencies.

Innovation Solution

The introduction of a resilience metric, referred to as a resilience score, which forecasts the impact of failures and optimizes resource allocation by using linear programming and bin packing techniques to rank configurations and select the most suitable placement for pluggable databases, ensuring efficient resource utilization and minimizing service outages.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If rigid and simplistic heuristic reconfiguration algorithms are used for database placement, then the reconfiguration process is simple and fast, but the cluster-wide performance and resource utilization are suboptimal

Engineering Contradiction:
Improvereconfiguration algorithm simplicityVSAvoidcluster-wide performance
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent transforms the database placement problem from a static configuration task into a dynamic optimization problem by introducing a resilience score metric that quantifies placement quality. This allows the system to evaluate and compare different placement configurations based on multiple parameters (resource utilization, failure impact, performance) rather than relying on simple heuristics, thereby resolving the contradiction between algorithm simplicity and optimization effectiveness.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent introduces an intermediary optimization layer that sits between the failure detection mechanism and the reconfiguration execution. This intermediary computes resilience scores and determines optimal placement decisions, acting as a mediator that translates simple failure events into optimized reconfiguration actions, thus improving cluster-wide performance without requiring complex distributed algorithms at every node.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If multiple pluggable databases are collocated in the same container database to meet isolation requirements, then customer isolation is satisfied, but resource distribution becomes imbalanced causing operational problems

Engineering Contradiction:
Improvecustomer isolationVSAvoidresource distribution balance
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent applies local quality by computing and applying placement decisions at the individual pluggable database level rather than treating all databases uniformly. Each PDB is evaluated based on its specific resilience score, which considers its isolation requirements, resource needs, and failure characteristics. This allows the system to satisfy customer isolation requirements for each PDB individually while simultaneously optimizing overall resource distribution across the cluster.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent introduces dynamic placement optimization that continuously adapts to changing cluster conditions. The resilience score metric and optimization algorithm enable the system to dynamically adjust database placements in response to failures, resource availability changes, and performance requirements, thereby maintaining both isolation guarantees and balanced resource distribution under varying operational conditions.

Inventive Principle:
Principle #15Dynamics

3Reliability

If failover is performed to ensure high availability, then service continuity is maintained, but resource distribution becomes imbalanced leading to cascading failures

Engineering Contradiction:
Improveservice continuityVSAvoidcascading failures
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent applies preliminary action by computing optimal placement configurations in advance and maintaining resilience score metrics that predict the impact of potential failures. When a failure occurs, the system can immediately execute pre-computed optimal placements rather than reacting blindly, thereby maintaining service continuity while avoiding placements that would lead to resource imbalances and cascading failures.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback mechanisms where resilience scores and resource utilization metrics are continuously monitored and used to guide reconfiguration decisions. This feedback loop ensures that failover operations not only maintain service continuity but also actively prevent resource distribution imbalances that could trigger cascading failures, as the system adjusts placements based on real-time cluster state information.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11983151B2Resilience based database placement in clustered environment
Publication Date: 2024.05.14 ORACLE INT CORP
  • US11983151B2 patent drawing
  • US11983151B2 patent drawing
  • US11983151B2 patent drawing

AI summary

Herein are resource-constrained techniques that plan ahead for resiliently moving pluggable databases between container databases after a failure in a high-availability database cluster. In an embodiment, a computer identifies many alternative placements that respectively assign each pluggable database to a respective container database. For each alternative placement, a respective resilience score is calculated for each pluggable database that is based on the container database of the pluggable database. Based on the resilience scores of the pluggable databases for the alternative placements, a particular placement is selected as an optimal placement that would maximize utilization of computer resources, minimize database latencies, maximize system throughput, and maximize the ability of the database cluster to avoid a service outage.