US 12,135,700 B1
Scan-based merge for analytical query processing in HTAP systems using delete vectors
Mihir Dharamshi, Redmond, WA (US); Cristian Diaconu, Kirkland, WA (US); Chen Luo, San Mateo, CA (US); and Joshua Slocum, Austin, TX (US)
Assigned to Snowflake Inc., Bozeman, MT (US)
Filed by Snowflake Inc., Bozeman, MT (US)
Filed on Sep. 1, 2023, as Appl. No. 18/460,206.
Int. Cl. G06F 16/00 (2019.01); G06F 16/21 (2019.01); G06F 16/22 (2019.01); G06F 16/23 (2019.01); G06F 16/2453 (2019.01); G06F 16/28 (2019.01)
CPC G06F 16/2219 (2019.01) [G06F 16/219 (2019.01); G06F 16/2343 (2019.01); G06F 16/24535 (2019.01); G06F 16/283 (2019.01)] 30 Claims
OG exemplary drawing
 
1. A system comprising:
at least one hardware processor; and
a memory storing instructions that cause the at least one hardware processor to perform operations comprising:
receiving a query, the query including a query range for processing the query and a set of requested columns;
based on the query range, determining a set of blob files and a set of delete vectors;
performing a read operation of each blob file from an oldest row to a newest row;
for each blob file, storing each row, including the set of request columns, into an array of rowsets;
for each rowset, generating a delete bitset to at least indicate whether each row has been deleted;
for each delta file, indicate a previous row of a visible row of the delta file as being deleted based on a delete pointer of the visible row;
for each rowset, transforming each delete bitset into a selection column set for including in each rowset; and
providing a set of rowsets, including a corresponding selection column set, as a result of the query.