US 12,007,954 B1
Selective forwarding for multi-statement database transactions
Dhruva Ranjan Chakrabarti, San Jose, CA (US); Atrayee Mullick, Cupertino, CA (US); Damien Katz, Alameda, CA (US); Saraswathy Narayan, Fremont, CA (US); Jianguo Wang, Sunnyvale, CA (US); Huawei Wang, Menlo Park, CA (US); Alexandre Olegovich Verbitski, Woodinville, WA (US); Tengiz Kharatishvili, Issaquah, WA (US); Yingjie He, Cupertino, CA (US); and Gopi Krishna Attaluri, Cupertino, CA (US)
Assigned to Amazon Technologies, Inc., Seattle, WA (US)
Filed by Amazon Technologies, Inc., Seattle, WA (US)
Filed on May 8, 2020, as Appl. No. 16/870,824.
Int. Cl. G06F 16/18 (2019.01); G06F 9/54 (2006.01); G06F 16/11 (2019.01); G06F 16/182 (2019.01)
CPC G06F 16/1865 (2019.01) [G06F 9/542 (2013.01); G06F 16/128 (2019.01); G06F 16/184 (2019.01)] 20 Claims
OG exemplary drawing
 
1. A system, comprising:
a plurality of nodes, respectively comprising at least one processor and a memory, that implement a database system, wherein one of the plurality of nodes implements a read-only node for the database system and another one of the plurality of nodes implements a read-write node for the database system distinct from the read-only node, and wherein the read-only node is configured to perform only read statements and the read-write node is configured to perform write statements;
wherein the read-only node is configured to:
receive a read statement as part of a transaction started at the read-only node;
determine a read view of database data to perform the read statement;
receive a write statement as part of the transaction;
send the write statement to the read-write node for the database;
wherein the read-write node is configured to
perform the write statement as a primary node transaction to the database;
return an acknowledgment of performing the write statement to the read-only node;
wherein the read-only node is further configured to:
receive another read statement as part of the transaction after the write statement;
wait to perform the other read statement until after:
the acknowledgement of the performance of the write statement is received from the read-write node; and
the read view of the database is updated to include the write statement acknowledged by the read-write node.