1. A data store system comprising: an array of persistent storage devices configured to store a plurality of data tables; a processor in communication with the persistent storage devices, the processor configured to: receive a request to generate a multi-dimensional histogram on at least one of the plurality of data tables; identify a multi-dimensional dataset stored in the at least one of the plurality of data tables; identify each dimension of the multi-dimensional dataset; for each respective identified dimension: sort the identified multi-dimensional dataset on values of the respective identified dimension; for each respective identified dimension: partition the sorted dataset into a predetermined number of intervals associated with the respective identified dimension; determine a number of rows for each interval; and select a lower boundary value and an upper boundary value for each interval, wherein the upper boundary value is the highest value in each interval, wherein the lower boundary value for an interval having lowest sorted values is the lowest value in the interval, and the lower boundary value for each other interval is the upper boundary value of an interval having immediately preceding partitioned values; store the lower boundary values, upper boundary values, and number of rows for each interval of each identified dimension as the histogram; receive a query on the at least one of the plurality of data tables; and generate a query response based on the histogram.