Patent ID: 7567973

Claim:
A computer-implemented method of storing data, comprising: in a distributed computer system comprising a plurality of data servers: identifying a table data structure, the table data structure comprising tablets and groups of columns to store data, wherein the groups of columns are non-overlapping, and the tablets each comprise a distinct non-overlapping group of rows in the table data structure, wherein the tablets include first and second tablets, the tablets being distributed among the plurality of data servers; associating each group of columns with a respective locality group of a plurality of locality groups, wherein the plurality of locality groups includes a first locality group associated with a first group of columns in the table data structure and a second locality group associated with a second group of columns in the table data structure; for the first locality group, storing data from the first group of columns in a first plurality of files in computer memory that correspond to the first locality group, the plurality of files including at least one file for each tablet for which the first group of columns contains data, access to the at least one file for a respective tablet for which the first group of columns contains data being controlled by a respective data server of the plurality of data servers; for the second locality group, storing data from the second group of columns in a second plurality of files in computer memory that correspond to the second locality group, the second plurality of files including at least one file for each tablet for which the second group of columns contains data, access to the at least one file for a respective tablet for which the second group of columns contains data being controlled by a respective data server of the plurality of data servers; wherein: the first plurality of files is distinct from the second plurality of files; and respective files in the first plurality of files store only data in both the first group of columns and respective tablets, and respective files in the second plurality of files store only data in both the second group of columns and respective tablets.