Flexible routing of database operations accessing remote tables

US12189603B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12189603-B2
Application numberUS-202217971506-A
CountryUS
Kind codeB2
Filing dateOct 21, 2022
Priority dateOct 21, 2022
Publication dateJan 7, 2025
Grant dateJan 7, 2025

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

The present disclosure provides techniques and solutions for executing requests for database operations involving a remote data source in a system that includes an anchor node and one or more non-anchor nodes. A first request for one or more database operations is received, where at least a first database operation includes a data request for a remote data object. It is determined that the first database operation is not an insert, delete, or update operation, and therefore is assignable to the anchor node or one of the non-anchor nodes. The first database operation is assigned to a non-anchor node for execution. In a particular implementation, for a particular set of requests for a database operation, once an insert, delete, or update operation is received for the remote data object, subsequent operations for the remote data object in the set of requests are assigned to the anchor node for execution.

First claim

Opening claim text (preview).

What is claimed is: 1. A computing system comprising: at least one memory; one or more hardware processor units coupled to the at least one memory; and one or more computer readable storage media storing computer-executable instructions that, when executed, cause the computing system to perform operations comprising: at a database system, receiving a first request for one or more database operations; determining that a first database operation of the one or more database operations of the first request comprises a first data request for a first remote data object, the first remote data object located on a first remote computing system accessed by the database system using data federation; determining whether the first database operation includes an insert, delete, or update operation for the first remote data object; in response to determining that the first database operation does not include an insert, delete, or update operation for the first remote data object, assigning the first database operation to a first non-anchor node of the database system, wherein data operations for remote data sources that do not include an insert, delete, or update operation for a remote data object are assignable for execution by a non-anchor node of the database system or by an anchor node of the database system; causing the first database operation to be executed by the first non-anchor node; determining that a second database operation, the second database operation being a database operation of the one or more database operations of the first request or a database operation of a second request for one or more database operations, comprises a second data access request for the first remote data object; determining whether the second database operation includes an insert, delete, or update operation for the first remote data object; in response to determining that the second database operation includes an insert, delete, or update operation for the first remote data object, causing the second database operation to be performed by the anchor node; at the database system, after causing the second database operation to be performed at the anchor node, receiving a third request for one or more database operations, wherein a database operation of the one or more database operations of the third request comprises a read request; and causing the third database operation to be performed by the anchor node. 2. The computing system of claim 1 , wherein the first request for one or more database operations is not restricted to read requests for the first remote data object. 3. The computing system of claim 1 , the operations further comprising: in response to the determining that the second database operation comprises an insert, delete, or update operation for the first remote data object, associating the first remote data object with an indicator that the second database operation and any subsequent database operations of the first request, the second request, or a database operation of a subsequent request for one or more database operations, are to be performed at the anchor node of the database system. 4. The computing system of claim 3 , the operations further comprising: receiving an instruction to commit a transaction that comprises the first request, the second request, and any subsequent requests; and in response to the receiving an instruction, dissociating the indicator from the first remote data object. 5. The computing system of claim 3 , the operations further comprising: receiving an instruction to roll back a transaction that comprises the first request, the second request, and any subsequent requests; and in response to the receiving an instruction, dissociating the indicator from the first remote data object. 6. The computing system of claim 3 , the operations further comprising: receiving a third request for one or more database operations, wherein the third request is the first request, the second request, or a request other than the first request or the second request; determining that a first database operation of the third request comprises a data request for a second remote data object located on a second remote computing system accessed by the database system using data federation, wherein the second remote data object is different than the first remote data object and the second remote computing system is the first remote computing system or is a remote computing system different than the first remote computing system; determining whether the first database operation of the third request comprises an insert, delete, or update operation for the second remote data object; while the indicator is associated with the first remote data object, in response to determining that the first database operation of the third request does not include an insert, delete, or update operation for the second remote data object, assigning the first database operation of the second request to a second non-anchor node of the database system, wherein the second non-anchor node is the first non-anchor node or is a non-anchor node other than the first non-anchor node; and causing the first database operation of the third request to be executed by the second non-anchor node. 7. The computing system of claim 3 , the operations further comprising: in response to the associating, analyzing one or more query plans that access the first remote data source; determining that a query plan of the one or more query plans references the first remote data object using the first non-anchor node; and preparing a revised query plan that specifies that a read operation of the query plan is set to be executed using the anchor node instead of the first non-anchor node. 8. The computing system of claim 3 , the operations further comprising: determining that the first remote data object comprises a stored procedure; after the associating, determining that a first data operation of the stored procedure comprises a read request for the first remote data object, the read request comprising a first data operation for the first remote data object and a second data operation for a database object that is local to the database system; sending the first data operation from the first non-anchor node to the anchor node for execution; and executing the second data operation at the first non-anchor node. 9. The computing system of claim 3 , the operations further comprising: determining that the first remote data object comprises a stored procedure; after the associating, determining that a first data operation of the stored procedure comprises an insert, delete, or update request for the first remote data object, the insert, delete, or update request comprising a first data operation for the first remote data object and a second data operation for a database object that is local to the database system; sending the insert, delete, or update request for the first remote data object to the anchor node for execution. 10. The computing system of claim 3 , the operations further comprising: determining that the first remote data object comprises a stored procedure; after the associating, determining that a first data operation of the stored procedure comprises an insert, delete, or update request for the first remote data object, the insert, delete, or update request comprising a first data operation for the first remote data object and a second data operation for a database object that is local to the database system; sending the first data operation from the first non-anchor node to the anchor node for execution; and executing the second data operation at the first non-anchor node. 11. The computing system

Assignees

Inventors

Classifications

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US12189603B2 cover?
The present disclosure provides techniques and solutions for executing requests for database operations involving a remote data source in a system that includes an anchor node and one or more non-anchor nodes. A first request for one or more database operations is received, where at least a first database operation includes a data request for a remote data object. It is determined that the firs…
Who is the assignee on this patent?
Sap Se
What technology area does this patent fall under?
Primary CPC classification G06F16/23. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 07 2025 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).