1. A method of encoding data into a hardware-favorable form for a database, said method comprising: profiling columns of the data; compressing the columns of the data into column groups having one or more columns based on the profile of the columns of data; determining a fixed width for each of the column groups; and writing the column groups with the selected fixed width into a column-store database.