Routing requests in shared-storage database systems
AssigneeOracle International Corporation
InventorsJuan R. Loaiza, Wei-Ming Hu, Mark Dilman, Leonid Novak
Life of this patent
Estimating the term…
Abstract
Techniques are described herein for routing queries to particular nodes of a multi-node database system based on the query. A database table is partitioned into a plurality of affinity groups. Each affinity group is assigned a particular node as the master node of the affinity group. A mapping is sent to a query router indicating the master node for each affinity group of the plurality of affinity groups. The query router determines, for a particular query, a target node to which to send the particular query based on the mapping and the particular query.
Claims24
A method comprising:
- partitioning, into a plurality of affinity groups, a database table that is persistently stored on one or more non-transitory computer-readable media;
- wherein the database table is managed by a multi-node database management system (DBMS) that comprises a plurality of nodes;
- wherein each node of the plurality of nodes is executing a database server instance;
- wherein the database server instance on each node of the plurality of nodes has shared access to the database table on the one or more non-transitory computer-readable media;
- for each affinity group of the plurality of affinity groups, assigning a particular node of the plurality of nodes as the master node of the affinity group;
- sending, to a query router that is separate from and executing remotely relative to the plurality of nodes, a mapping indicating the master node for each affinity group of the plurality of affinity groups;
- storing the mapping at the query router;
- prior to sending a particular query that requires data from the database table to the DBMS, the query router determining, based on the particular query and the mapping, a target node for the particular query;
- and
- sending the particular query to the target node.
One or more non-transitory computer-readable media storing instructions which, when executed by one or more hardware processors, cause:
- partitioning, into a plurality of affinity groups, a database table that is persistently stored on one or more non-transitory computer-readable media;
- wherein the database table is managed by a multi-node database management system (DBMS) that comprises a plurality of nodes;
- wherein each node of the plurality of nodes is executing a database server instance;
- wherein the database server instance on each node of the plurality of nodes has shared access to the database table on the one or more non-transitory computer-readable media;
- for each affinity group of the plurality of affinity groups, assigning a particular node of the plurality of nodes as the master node of the affinity group;
- sending, to a query router that is separate from and executing remotely relative to the plurality of nodes, a mapping indicating the master node for each affinity group of the plurality of affinity groups;
- storing the mapping at the query router;
- prior to sending a particular query that requires data from the database table to the DBMS, the query router determining, based on the particular query and the mapping, a target node for the particular query;
- and
- sending the particular query to the target node.
Dependencies are inferred from the claim text.