US 12,493,631 B1
Handling data skew for parallel execution with server mapping plans
Srikanth Bellamkonda, Mountain View, CA (US); Madhuri Kandepi, San Mateo, CA (US); Yash Shah, San Mateo, CA (US); and Shuo Chen, Redwood Shores, CA (US)
Assigned to Oracle International Corporation, Redwood Shores, CA (US)
Filed by Oracle International Corporation, Redwood Shores, CA (US)
Filed on Aug. 30, 2024, as Appl. No. 18/821,805.
Int. Cl. G06F 16/20 (2019.01); G06F 16/2453 (2019.01); G06F 16/2455 (2019.01); G06F 16/27 (2019.01); H04L 67/1008 (2022.01)
CPC G06F 16/278 (2019.01) [G06F 16/24542 (2019.01); G06F 16/2456 (2019.01); H04L 67/1008 (2013.01)] 15 Claims
OG exemplary drawing
 
1. A method comprising:
executing, by a database server, a statement involving loading rows from a source to a plurality of target partitions using a specified server mapping, wherein:
the server mapping maps partitions of the plurality of target partitions to a set of server processes,
the set of server processes includes a coordinator server process, a set of producer server processes, and a set of consumer server processes,
the set of producer server processes send rows from the source to the set of consumer server processes based on the specified server mapping,
executing the statement comprises:
creating, by each producer server process, a partition mapping vector comprising partition mapping information for each partition of the plurality of target partitions;
receiving, by the coordinator server process, a partition mapping vector from each producer server process;
merging, by the coordinator server process, the partition mapping vectors from the set of producer server processes to form a merged partition mapping vector;
determining, by the coordinator server process, a skew result based on the merged partition mapping vector; and
determining a runtime server mapping based on the specified server mapping and the skew result,
wherein the method is performed by one or more computing devices.