Service Affinity Placement for Autonomous Database Conflict Mitigation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In database cloud environments, inter-node data transfers and lock-related communications incur significant overhead when services accessing the same data block are located on different nodes, leading to inefficient resource utilization and increased network traffic.
Innovation Solution
Implement techniques to automatically provision workloads of services that frequently access common data blocks on the same node, using access statistics to optimize workload-to-node placement and minimize inter-node transmissions and lock requests through smart routing and dynamic scaling.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If services accessing the same data block are located on different nodes, then service distribution and load balancing are improved, but inter-node data transfers and network overhead increase significantly
Solution Approach 1:
The patent merges services that access the same data blocks onto the same node to eliminate inter-node data transfers. By co-locating services with affinity to common data blocks, the system reduces network traffic and associated overhead while maintaining service distribution across the cluster through the affinity-based placement algorithm.
Solution Approach 2:
The patent applies local quality by optimizing service placement based on local data access patterns. Services are placed on nodes where they have local access to the data blocks they frequently access, creating localized service-data relationships that minimize remote access and network communication.
2Reliability
If services are distributed across multiple nodes, then system scalability and fault tolerance are improved, but inter-node lock-related communications increase
Solution Approach 1:
The patent merges services that require coordinated lock management onto the same node. By placing services with lock affinity together, the system reduces the number of inter-node lock requests and simplifies lock management while preserving fault tolerance through the distributed nature of the affinity-based placement algorithm.
Solution Approach 2:
The patent introduces an affinity-based placement algorithm as an intermediary that mediates between service distribution requirements and lock management efficiency. This algorithm analyzes access patterns and determines optimal service placement to minimize lock-related network communications while maintaining system reliability.
3Productivity
If services are placed on different nodes, then resource utilization across the cluster is improved, but the number of inter-node data block transfers increases
Solution Approach 1:
The patent merges services with affinity to common data blocks onto the same node to eliminate inter-node data transfers. This approach maintains high resource utilization by distributing services across the cluster while co-locating those that share data access patterns, thereby eliminating transfer delays.
Solution Approach 2:
The patent performs preliminary analysis of service access patterns to determine affinity relationships before placing services on nodes. By pre-calculating optimal placements based on historical and real-time access data, the system proactively minimizes future inter-node transfers and associated delays.
4Reliability
If lock permissions are not cached, then lock management accuracy is maintained, but inter-node lock-related messaging increases significantly
Solution Approach 1:
The patent merges services that access the same data blocks onto the same node, enabling lock permission caching. When services are co-located, the node can cache lock permissions locally and grant subsequent requests without inter-node messaging, reducing network complexity while maintaining accurate lock management through the centralized lock manager.
Data Source
AI summary
Techniques are provided for determining access affinity between services in a database cluster, and for placing workload of those services based, at least in part, on the access affinity. The techniques involve generating access records that indicate when sessions that are associated with each service operate on data blocks that were accessed by another session that is associated with another service. Access affinity information is generated based on the access records, where the access affinity information indicates access affinity (e.g. conflict scores) between each pair of services. The cluster then selects which node is to perform the work of a given session based on the access affinity information and the service associated with the session.


