Patent ID: 7542975
Filing Date: 2009-06-02
Classification: G06F

Abstract:
1. A method to compute a frequent value statistic, said method comprising: receiving a request to compute a frequent value statistic of values present in a table column of data values provided in a relational database partitioned across a plurality of nodes, said partitioned relational database including at least one coordinator node with at least one associated participating node, said frequent value statistic representing one or more data values having the highest number of duplicates present in said table column; hashing values in said table column residing on each said associated participating node to create a hash data set for each said associated participating node, said hash data set comprising an array of counts associated with that table column wherein a result of a hashed value in a column indicates a position in the array of counts; and, for each occurrence of a data value that hashes to the same position in the array of counts, incrementing by one a count value at that position in said array of counts; transmitting each said array of counts corresponding to said table column from each associated participating node to said coordinator node; combining each said array of counts from each associated participating node into a combined array of counts for said coordinator node, said combining comprising adding a value from each position in each said array of counts received from each associated participating node to a value in a corresponding position of said combined array of counts; hashing values in said table column in a portion of said relational database residing on said coordinator node to update said combined array of counts, said value in a position of said combined array of counts representing a combined total of all respectively positioned values of all associated participating nodes; and computing said frequent value statistic representing said one or more data values having the highest number of duplicates present in said table column from said combined array of counts by iterating through the values of said combined array of counts and generating a list of a number N of data values, their corresponding frequency of occurrence, and their corresponding position values in said combined array of counts.