US 12,292,881 B1
Distributed transaction execution across shards of scalable database tables
Alexandre Olegovich Verbitski, Woodinville, WA (US); Upendra Govindagowda, Renton, WA (US); Anand Kumar Thakur, Snohomish, WA (US); Gaurav Kumar Gupta, Waterloo (CA); David Charles Wein, Shoreline, WA (US); Saleem Mohideen, Saratoga, CA (US); Navaneetha Krishnan Thanka Nadar, Bothell, WA (US); and Murali Brahmadesam, Tiruchirappalli (IN)
Assigned to Amazon Technologies, Inc., Seattle, WA (US)
Filed by Amazon Technologies, Inc., Seattle, WA (US)
Filed on Sep. 30, 2022, as Appl. No. 17/937,430.
Int. Cl. G06F 16/23 (2019.01)
CPC G06F 16/2379 (2019.01) 20 Claims
OG exemplary drawing
 
1. A system, comprising:
at least one processor; and
a memory, storing program instructions that when executed by the at least one processor, cause the at least one processor to implement a router of a database service, the router configured to:
receive one or more instructions to perform as part of a transaction with respect to one or more database tables;
evaluate the one or more instructions with respect to metadata obtained for the one or more database tables to determine an assignment distribution of one or more database nodes of the database system to data that can satisfy the one or more instructions to perform as part of the transaction;
select between different commit protocols to determine a commit protocol for the transaction based, at least in part, on the assignment distribution of the one or more database nodes, wherein the different commit protocols comprise a first commit protocol that commits the transaction at the one or more database nodes before being acknowledged as committed and a second commit protocol that allows the transaction to be forgotten before being acknowledged as committed;
cause performance of the one or more instructions to perform the transaction with respect to one or more database tables using the one or more database nodes;
detect an end of the transaction; and
cause the transaction to be completed according to the determined commit protocol.