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

Claim 6:
7. A computer-implemented method comprising:
extracting, with at least one processor, a data table from a relational database based on an identification of the data table, the data table comprising a plurality of records;
determining, with at least one processor, whether the data table comprises at least one column having a range of values with a uniform distribution, wherein determining whether the data table comprises at least one column having a range of values with a uniform distribution comprises:
identifying a set of columns previously used to split the data table for distributed processing;
determining 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
determining 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 does not comprise the at least one column:
inserting, with at least one processor, 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
classifying, with at least one processor, the index column as a candidate column for splitting the data table;

splitting, with at least one processor, 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 uniform of subdivisions are generated based on subranges of values in a range of values in the candidate column, wherein splitting the data table comprises:
determining the range of values of the candidate column;
subdividing 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;
sorting the data table in sequential order of the candidate column; and
generating each uniform subdivision of the plurality of uniform subdivisions of the data table, wherein generating each uniform subdivision of the plurality of uniform subdivisions of the data table comprises:
splitting the data table into the plurality of uniform subdivisions of the data table based on the plurality of subranges of values of the candidate column; and

distributing, with at least one processor, 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.