US 12,093,239 B2
Handshake protocol for efficient exchange of transactional information for a hybrid transactional and analytical processing architecture
Gokul Soundararajan, San Jose, CA (US); Gopal Paliwal, Milpitas, CA (US); Punit Rajgaria, Saratoga, CA (US); and Sanuj Basu, San Mateo, CA (US)
Assigned to Amazon Technologies, Inc., Seattle, WA (US)
Filed by Amazon Technologies, Inc., Seattle, WA (US)
Filed on Jun. 30, 2022, as Appl. No. 17/810,312.
Prior Publication US 2024/0004860 A1, Jan. 4, 2024
Int. Cl. G06F 16/23 (2019.01); G06F 16/22 (2019.01); G06F 16/242 (2019.01)
CPC G06F 16/2358 (2019.01) [G06F 16/2282 (2019.01); G06F 16/2433 (2019.01)] 20 Claims
OG exemplary drawing
 
1. A system, comprising:
one or more computing devices configured to implement a transactional database, wherein the one or more computing devices implementing the transactional database are configured to:
maintain a table comprising data items; and
write transactional changes made to the table to a change-data-capture log;
one or more compute nodes organized into a node cluster and configured to implement an analytical database, wherein the one or more compute nodes of the node cluster are configured to:
maintain a representation of at least one portion of the table, wherein to maintain comprises applying respective ones of the transactional changes of the change-data-capture log, received at the analytical database, to update the representation of the at least one portion of the table;
wherein the one or more computing devices implementing the transactional database and the compute nodes of the node cluster implementing the analytical database are further configured to perform a handshake protocol to:
determine a mapping for distributing respective portions of the transactional changes of the change-data-capture log to the one or more compute nodes of the node cluster, wherein:
the determine the mapping is based, at least in part, on a distribution of a plurality of snapshots, each snapshot comprising a segment of the at least one portion of the table, across the one or more compute nodes of the node cluster; and
the respective portions of the transactional changes comprise transactional changes organized into checkpoints, each corresponding to a respective one of the plurality of snapshots;
determine at least one transport mechanism to be used for providing the plurality of snapshots and checkpoints from the transactional database to the analytical database; and
determine one or more data definition language commands that are incompatible with the checkpoints; and
wherein the one or more computing devices implementing the transactional database and/or the compute nodes of the node cluster implementing the analytical database cause determined results of the handshake protocol to be stored in a data store accessible to the one or more computing devices implementing the transactional database and the one or more computing nodes of the node cluster implementing the analytical database.