Patent ID: 11886416
Assignee: VISA INTERNATIONAL SERVICE ASSOCIATION
Field: Computer technology (Electrical engineering)
Classification: CPC G | IPC G

Claim 11:
12. A computer program product comprising at least one non-transitory computer-readable medium including program instructions that, when executed by at least one processor, cause the at least one processor to:
extract a data table from a relational database based on an identification of the data table, the data table comprising a plurality of records;
determine whether the data table comprises at least one column having a range of values with a uniform distribution, wherein, the program instructions that cause the at least one processor to determine whether the data table comprises at least one column having a range of values with a uniform distribution, cause the at least one processor to:
identify a set of columns previously used to split the data table for distributed processing;
determine whether the set of columns comprises one or more columns of the data table that were previously determined to uniformly split the data table; and
determine that the data table comprises the at least one column having the range of values with the uniform distribution based on determining that the set of columns comprises the one or more columns of the data table that were previously determined to uniformly split the data table;

in response to determining that the data table comprises the at least one column having a range of values with a uniform distribution, classify the at least one column as a candidate column for splitting the data table;
in response to determining that the data table does not comprise the at least one column:
insert an index column into the data table, the index column comprising a column of sequential numbers for each record of the plurality of records; and
classify the index column as the candidate column for splitting the data table;

split the data table uniformly based on the candidate column to generate a plurality of uniform subdivisions of the data table, wherein a number of uniform subdivisions of the plurality of uniform subdivisions of the data table is equal to a number of nodes of a plurality of nodes in a server cluster, and wherein the plurality of uniform subdivisions of the data table are generated based on subranges of values in a range of values in the candidate column, wherein, the program instructions that cause the at least one processor to split the data table, cause the at least one processor to:
determine the range of values of the candidate column;
subdivide the range of values of the candidate column to produce a plurality of subranges of values of the candidate column equal in number to the number of the plurality of nodes in the server cluster;
sort the data table in sequential order of the candidate column; and
generate each uniform subdivision of the data table of the plurality of uniform subdivisions of the data table, wherein, the program instructions that cause the at least one processor to generate each uniform subdivision of the plurality of uniform subdivisions of the data table, cause the at least one processor to:
split the data table into the plurality of uniform subdivisions of the data t able based on the plurality of subranges of values of the candidate column; and

distribute each uniform subdivision of the plurality of uniform subdivisions of the data table to a node of the plurality of nodes of the server cluster so as to cause the server cluster to collectively process the data table.