IP Library Granted Patent US 11,372,890
Granted Patent B2
US 11,372,890 · App. 16/595,505 · Granted Jun 28, 2022

Distributed database transaction protocol

Inventors: Juchang Lee (Seoul, KR); Chang Gyoo Park (Seoul, KR); Deok Koo Kim (Seoul, KR)
Assignee: SAP SE
G06F16/275G06F1/14G06F16/2322G06F16/2365G06F16/951H04L67/10
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,372,890
App. No.
16/595,505
Granted
Jun 28, 2022
Kind
B2
Abstract

Technologies are described for facilitating transaction processing within a database environment having a coordinator node, a first worker node, and at least a second worker node. The coordinator node receives local transaction tokens from the first and the at least a second worker nodes. The coordinator nodes determines a synchronized transaction token using at least the local transaction tokens from the first and the at least a second worker nodes. The coordinator node sends the synchronized transaction token to the first and the at least a second worker nodes.

Claims (37)

1. One or more computer-readable media storing computer-executable instructions that, when executed, cause a server programmed thereby to perform database transaction processing within a database environment using data manipulation language (DML) statements, the server implementing a first worker node of a database system, the first worker node being in communication with a coordinator node, and the database system comprising at least a second worker node, the database transaction processing comprising:

receiving a multi-node database statement, the multi-node database statement comprising first operations to be performed at the first worker node and second operations to be performed at the at least a second worker node, the first operations differing at least in part from the second operations;

determining that the multi-node database statement is associated with an indicator that the multi-node database statement can be executed with relaxed consistency the indicator being a consistency-level indicator provided in the multi-node database statement or the indicator being a consistency-level indicator provided in a request for a session between a database client which issued the multi-node database statement and the first worker node;

based on the determining, without waiting to synchronize a local transaction token maintained by the first worker node with a global transaction token maintained by the coordinator node or to update an interval counter or flag indicative of such synchronizing, executing the multi-node database statement, wherein the local transaction token indicates data versions visible during the execution of the multi-node database statement;

forwarding at least a portion of the multi-node database statement to the at least a second worker node; and

receiving execution results from the execution of the at least a portion of the multi-node database statement at the at least a second worker node.

2. The one or more computer-readable media of claim 1 , wherein the indicator indicates that a database session associated with the multi-node database statement does not require the synchronizing.

3. The one or more computer-readable media of claim 1 , wherein the multi-node statement comprises the indicator.

4. The one or more computer-readable media of claim 3 , wherein the indicator comprises a specification of a threshold delay.

5. The one or more computer-readable media of claim 4 , wherein the executing the multi-node database statement is carried out upon determining that a delay in the executing would exceed the threshold if the executing was postponed until the local transaction token was synchronized with the global transaction token.

6. The one or more computer-readable media of claim 1 , the processing further comprising:

receiving manual intervention by a user to initiate the executing, wherein the executing is initiating in response to the manual intervention.

7. The one or more tangible computer-readable media of claim 1 , wherein the database transaction processing further comprises periodically synchronizing the local synchronization token maintained by the first worker node, the global synchronization token maintained by the coordinator node, and a local synchronization token maintained by the at least a second worker node, and wherein the periodically synchronizing is not specifically associated with the commit of a particular transaction.

8. A method, implemented at least in part by a first worker node of a database system, the first worker node comprising at least one processor and memory and being in communication with a coordinator node, the database system further comprising at least a second worker node, the method comprising:

receiving a multi-node database statement, the multi-node database statement comprising first operations to be performed at the first worker node and second operations to be performed at the at least a second worker node, the first operations differing at least in part from the second operations;

determining that the multi-node database statement is associated with an indicator that the multi-node database statement can be executed with relaxed consistency the indicator being a consistency-level indicator provided in the multi-node database statement or the indicator being a consistency-level indicator provided in a request for a session between a database client which issued the multi-node database statement and the first worker node;

based on the determining, without waiting to synchronize a local transaction token maintained by the first worker node with a global transaction token maintained by the coordinator node or to update an interval counter or flag indicative of such synchronizing, executing the multi-node database statement, wherein the local transaction token indicates data versions visible during the execution of the multi-node database statement;

forwarding at least a portion of the multi-node database statement to the at least a second worker node; and

receiving execution results from the execution of the at least a portion of the multi-node database statement at the at least a second worker node.

9. The method of claim 8 , wherein the indicator indicates that a database session associated with the multi-node database statement does not require the synchronizing.

10. The method of claim 8 , wherein the multi-node statement comprises the indicator.

11. The method of claim 10 , wherein the indicator comprises a specification of a threshold delay.

12. The method of claim 11 , wherein the executing the multi-node database statement is carried out upon determining that a delay in the executing would exceed the threshold if the executing was postponed until the local transaction token was synchronized with the global transaction token.

13. The method of claim 8 , the processing further comprising:

receiving manual intervention by a user to initiate the executing, wherein the executing is initiating in response to the manual intervention.

14. The method of claim 8 , wherein the database transaction processing further comprises periodically synchronizing the local synchronization token maintained by the first worker node, the global synchronization token maintained by the coordinator node, and a local synchronization token maintained by the at least a second worker node, and wherein the periodically synchronizing is not specifically associated with the commit of a particular transaction.

15. A server comprising a processing unit and memory, wherein the server is configured to operate a first worker node of a database system, the first worker node being in communication with a coordinator node, and the database system further comprising at least a second worker node, wherein the server is further configured to perform database transaction processing comprising:

receiving a multi-node database statement, the multi-node database statement comprising first operations to be performed at the first worker node and second operations to be performed at the at least a second worker node, the first operations differing at least in part from the second operations;

determining that the multi-node database statement is associated with an indicator that the multi-node database statement can be executed with relaxed consistency the indicator being a consistency-level indicator provided in the multi-node database statement or the indicator being a consistency-level indicator provided in a request for a session between a database client which issued the multi-node database statement and the first worker node;

based on the determining, without waiting to synchronize a local transaction token maintained by the first worker node with a global transaction token maintained by the coordinator node or to update an interval counter or flag indicative of such synchronizing, executing the multi-node database statement, wherein the local transaction token indicates data versions visible during the execution of the multi-node database statement;

forwarding at least a portion of the multi-node database statement to the at least a second worker node; and

receiving execution results from the execution of the at least a portion of the multi-node database statement at the at least a second worker node.

16. The server of claim 15 , wherein the indicator indicates that a database session associated with the multi-node database statement does not require the synchronizing.

17. The server of claim 15 , wherein the multi-node statement comprises the indicator.

18. The server of claim 17 , wherein the indicator comprises a specification of a threshold delay.

19. The server of claim 18 , wherein the executing the multi-node database statement is carried out upon determining that a delay in the executing would exceed the threshold if the executing was postponed until the local transaction token was synchronized with the global transaction token.

20. The server of claim 15 , wherein the database transaction processing further comprises periodically synchronizing the local synchronization token maintained by the first worker node, the global synchronization token maintained by the coordinator node, and a local synchronization token maintained by the at least a second worker node, and wherein the periodically synchronizing is not specifically associated with the commit of a particular transaction.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 9, 2019
From: LEE, JUCHANG; PARK, CHANG GYOO; KIM, DEOK KOO
To: SAP SE
Reel/Frame 050666/0265 →
Continuity (2)
Continuation 14977372 · Dec 21, 2015
Related Publication 20200034373A1 · Jan 30, 2020