What are the variables that determine the compression ratio (QD vs. native RDBMS) other than the elimination of white space?
The amount of compression that QD is able to achieve is based on the data content of each column in the database. Specifically, the actual data type, the range of values, and the number of unique values will determine the compression technique QD will use, especially for numeric and date fields. For non-numeric fields, the structure and cardinality of the column will be the primary factors that determine the amount of compression. For example, a telephone number is usually stored as a character field. However, it has a specific structure (nnn-nnn-nnnn) and is a mix of character and numeric sub-fields. The separation characters and the values of each sub-field can be compressed and stored separately. In addition, QD stores some columns by sharing bits within bytes. For example, Yes/No or True/False data can be stored in a single bit by sharing the bit within a byte, up to eight columns of this kind of data can be stored in a single byte.