Access-Affinity Workload Placement in Autonomous Database Clusters
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. The affinity-based placement mechanism combines multiple services into co-located groups, reducing network traffic while maintaining service distribution across the cluster through systematic assignment policies.
Solution Approach 2:
The patent applies local quality by optimizing service placement at the node level based on data access patterns. Services are placed locally on nodes where they have highest affinity (frequent data access), creating localized service groups that minimize cross-node communication while preserving overall system distribution.
2Reliability
If services are distributed across multiple nodes, then system scalability and fault tolerance are improved, but lock-related inter-node communications increase
Solution Approach 1:
The patent merges services requiring coordinated lock access onto the same node to eliminate inter-node lock communications. By co-locating services with high lock affinity, the system maintains fault tolerance through service replication across nodes while improving lock management efficiency through local coordination.
Solution Approach 2:
The patent introduces an affinity-based placement mechanism as an intermediary that mediates between service distribution requirements and lock management efficiency. This placement policy acts as a mediator to strategically assign services to nodes, reducing lock-related network traffic while preserving system reliability.
3Loss of energy
If services are placed on the same node, then inter-node data transfers are reduced, but node resource contention and workload imbalance may increase
Solution Approach 1:
The patent segments services into affinity-based groups and distributes these groups across nodes to balance workload. By segmenting the service portfolio into co-located units with similar data access patterns, the system reduces inter-node transfers while preventing any single node from becoming overloaded with disparate service types.
Solution Approach 2:
The patent applies dynamics by making service placement adaptable and adjustable based on changing workload patterns and resource availability. The affinity-based placement mechanism dynamically optimizes service distribution, allowing the system to adapt to varying conditions while maintaining the balance between co-location benefits and workload distribution.
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.


