1. A computer-based method comprising the steps of: (a) maintaining a global dictionary for each column in a plurality of columns associated with a database table; (b) partitioning each column in said plurality of columns into one or more partitions; (c) forming a plurality of cells, each cell formed by grouping a plurality of partitions; (d) maintaining at least one cell-specific dictionary for at least one cell among said plurality of cells; (e) receiving a query to compile and execute against said database table; (f) adaptively applying said at least one cell-specific dictionary for said at least one cell when said at least one cell crosses a boundary of column partitions or when compression can be improved; (g) compiling and executing said received query based on said application of at least one cell-specific dictionary for said at least one cell of said database table and said global dictionary for remainder of cells or columns; (h) outputting said results of said compilation and execution step, and wherein said partitioning comprising partitioning each column individually to form said plurality of cells as cross products, and super-cells are formed to avoid splitting cells that otherwise fall below a predetermined cell threshold.