Patent ID: 7640257
Filing Date: 2009-12-29
Classification: G06F,Y10S

Abstract:
1. A computer-implemented method to execute a spatial query against a plurality of input tables of a distributed database, the method comprising: mapping, by a computer system, spatial objects of a first input table to a first spatial grid, the first spatial grid including a plurality of first spatial cells; redistributing, by said computer system, the spatial objects of the first input table to a first intermediate table of one or more access module processors within said computer system based on the first spatial cell of the first spatial grid to which each of the spatial objects is mapped; determining, by said computer system, whether one or more first spatial cells of the first spatial grid are skewed; subdividing, by said computer system, each of the skewed one or more first spatial cells to a second spatial grid, the second spatial grid including a plurality of second spatial cells; mapping, by said computer system, spatial objects of the first intermediate file to the second spatial grid, the second spatial grid including a plurality of second spatial cells; redistributing, by said computer system, the spatial objects of the first intermediate file to one or more access module processors within said computer system based on the second spatial cell of the second spatial grid to which each of the spatial objects is mapped; mapping, by said computer system, spatial objects of a second input table to the first spatial grid and the second spatial grid; redistributing, by said computer system, the spatial objects of the second input table to a second intermediate file of one or more access module processors within said computer system based on the first spatial cell of the first spatial grid and the second spatial cell of the second spatial grid to which each of the spatial objects is mapped; and joining, by said computer system, the spatial objects of the first intermediate file to spatial objects of the second intermediate file for each first spatial cell of the first spatial grid or second spatial cell of the second spatial grid.