US 12,423,302 B1
Hash-join broadcast decision making in database systems
Matthias Carl Adams, Berlin (DE); Sebastian Breß, Berlin (DE); Bjoern Daase, Berlin (DE); Moritz Eyssen, Berlin (DE); Florian Andreas Funke, Berlin (DE); Max Heimel, Berlin (DE); and Georg Ortwin Otto Kissig, Amsterdam (NL)
Assigned to Snowflake Inc., Bozeman, MT (US)
Filed by Snowflake Inc., Bozeman, MT (US)
Filed on Mar. 19, 2024, as Appl. No. 18/609,939.
Int. Cl. G06F 16/2453 (2019.01); G06F 11/34 (2006.01); G06F 16/2455 (2019.01)
CPC G06F 16/24542 (2019.01) [G06F 11/3409 (2013.01); G06F 16/2456 (2019.01)] 30 Claims
OG exemplary drawing
 
1. A system comprising:
at least one hardware processor; and
at least one memory storing instructions that cause the at least one hardware processor to perform operations comprising:
generating a query plan for a received query, the query plan comprising a plurality of join operations including a plurality of hash-join-build (HJB) operations and a plurality of hash-join-probe (HJP) operations;
configuring a decision node of a plurality of decision nodes of the query plan as a primary decision node;
decoding by the primary decision node, build-side data information associated with build-side data, the build-side data information received from the plurality of HJB operations;
selecting by the primary decision node, a data distribution method for each HJB operation of the plurality of HJB operations from a broadcast join distribution and a hash-hash join distribution, the selecting of the data distribution method being based on memory utilization information associated with the build-side data and included in the build-side data information; and
causing execution of the query plan based on distributing the build-side data to the plurality of HJP operations using the data distribution method for each HJB operation of the plurality of HJB operations.