| CPC G06F 16/2456 (2019.01) [G06F 16/2282 (2019.01); G06F 16/24532 (2019.01)] | 22 Claims |

|
1. A computing system, comprising: one or more processors configured to:
obtain first and second bounding data sets respectively for first and second data sets of a database configured to store data and process database queries of the database, wherein the first and second bounding data sets of the database respectively include first and second bounding information, wherein the first and second bounding information respectively include representation of bounds or limits of the first and second datasets in a space that a spatial join operation of the database is to be performed between the first and second data sets to effectively join at least a respective part of one of the first and second data sets spatially in the space in response to one or more of the database queries of the database, and wherein the first and second bounding information include distribution cost information associated with the cost of distribution of data between two or more or the processing units of the multi-processing system;
determine, based on the obtained first and second bounding data sets of the spatial join operation of the database, a spatial join bounding space for the spatial join operation of the database, as an intersection of the first and second bounding data sets in the space where the first and second data sets are to be spatially joined to perform the spatial join operation of the database;
partition the determined spatial join bounding space of the first and second data sets that are to be spatially joined into multiple sub-partitions of the spatial join bounding space; and
assign, at least partly based on the distribution cost information, two or more of the multiple sub-partitions of the spatial join bounding space respectively to the two or more processing units of a multi-processing computing system for processing the sub-partitions in parallel, wherein the two or more processing units of the multi-processing computing system includes at least one physical processor configured to provide multiple processing units to process data in parallel, thereby allowing the two or more processing units of a multi-processing computing system to process in parallel their respective assigned sub-partitions of the spatial join bounding space in order to perform the spatial join of the first and second data sets.
|