A computer implemented method comprising: determining data values of a plurality of unsorted data values stored in one or more databases (3002, 3004, 3006); and generating a data structure, wherein the data structure comprises a plurality of rows, wherein each row of the plurality of rows is associated with a respective data value of the plurality of unsorted data values, a plurality of columns (3010, 3012, 3014, 3016) intersecting the plurality of rows to define a plurality of cells, wherein each column is associated with a respective filter (f 1, f 2, f 3, f n) of a plurality of filters (f 1, f 2, f 3, f n), wherein a first filter (f 1) represents a division between a first half and a second half of the plurality of unsorted data values, wherein a second filter (f 2) represents a division between a first quarter and a second quarter of the plurality of unsorted data values, wherein a third filter (f 3) represents a division between a third quarter and a fourth quarter of the plurality of unsorted data values, wherein a first symbol or a second symbol is stored in each of the plurality of cells based on whether the respective data value satisfies or does not satisfy the respective filter (f 1, f 2, f 3, f n), respectively receiving a query; determining that the query is related to a filter (f 1, f 2, f 3, f n) of the plurality of filters (f 1, f 2, f 3, f n); determining, in the data structure, the column associated with the filter (f 1, f 2, f 3, f n); determining, in the column associated with the filter (f 1, f 2, f 3, f n), the rows intersecting that column and comprising cells having the first symbol, indicating that the data values associated with those cells satisfy the filter (f 1, f 2, f 3, f n); extracting, from the one or more databases (3002, 3004, 3006), the data values of the plurality of unsorted data values associated with the rows having the first symbol in the column (3010, 3012, 3014, 3016) associated with the filter (f 1, f 2, f 3, f n), wherein the data values associated with the rows having the second symbol in the column associated with the filter (f 1, f 2, f 3, f n) are not extracted; and sorting the extracted data values. determining data values of a plurality of unsorted data values stored in one or more databases (3002, 3004, 3006); and generating a data structure, wherein the data structure comprises a plurality of rows, wherein each row of the plurality of rows is associated with a respective data value of the plurality of unsorted data values, a plurality of columns (3010, 3012, 3014, 3016) intersecting the plurality of rows to define a plurality of cells, wherein each column is associated with a respective filter (f 1, f 2, f 3, f n) of a plurality of filters (f 1, f 2, f 3, f n), wherein a first filter (f 1) represents a division between a first half and a second half of the plurality of unsorted data values, wherein a second filter (f 2) represents a division between a first quarter and a second quarter of the plurality of unsorted data values, wherein a third filter (f 3) represents a division between a third quarter and a fourth quarter of the plurality of unsorted data values, wherein a first symbol or a second symbol is stored in each of the plurality of cells based on whether the respective data value satisfies or does not satisfy the respective filter (f 1, f 2, f 3, f n), respectively receiving a query; determining that the query is related to a filter (f 1, f 2, f 3, f n) of the plurality of filters (f 1, f 2, f 3, f n); determining, in the data structure, the column associated with the filter (f 1, f 2, f 3, f n); determining, in the column associated with the filter (f 1, f 2, f 3, f n), the rows intersecting that column and comprising cells having the first symbol, indicating that the data values associated with those cells satisfy the filter (f 1, f 2, f 3, f n); extracting, from the one or more databases (3002, 3004, 3006), the data values of the plurality of unsorted data values associated with the rows having the first symbol in the column (3010, 3012, 3014, 3016) associated with the filter (f 1, f 2, f 3, f n), wherein the data values associated with the rows having the second symbol in the column associated with the filter (f 1, f 2, f 3, f n) are not extracted; and sorting the extracted data values.