| CPC G06F 16/2365 (2019.01) [G06F 16/2343 (2019.01); G06F 16/27 (2019.01)] | 21 Claims |

|
1. A method comprising:
within a cluster that comprises a plurality of nodes, executing a plurality of database server instances that have access to a shared database;
wherein the shared database includes a plurality of database objects;
wherein data for the plurality of database objects are stored on a plurality of data blocks; within the cluster, executing a plurality of sessions, wherein each session of the plurality of sessions:
is associated with a respective service of a plurality of services, and
interacts with a database server instance, of the plurality of database server instances, to access one or more database objects of the plurality of database objects;
generating access records that indicate when sessions that are associated with each service, of the plurality of services, perform access operations on data blocks, of the plurality of data blocks, that were accessed by another session that is associated with another service, of the plurality of services;
generating access affinity information based on the access records, wherein the access affinity information indicates access affinity between each service of the plurality of services and each other service of the plurality of services; and
selecting on which node, of the plurality of nodes, to perform work for a particular session based, at least in part, on:
a particular service associated with the particular session, and
access affinity, indicated by the access affinity information, between the particular service and other services of the plurality of services;
wherein the method is performed by one or more computing devices.
|