A computer implemented method of memory management for an in-memory database, the method comprising: storing, in a secondary storage, a paged data vector, wherein the paged data vector includes a plurality of chunks, wherein the plurality of chunks are compressed using non-uniform compression, and wherein the plurality of chunks are logically arranged in the paged data vector as a plurality of pages; receiving a data request; identifying a subset of the plurality of pages that relate to the data request; loading, from the secondary storage to a main memory, at least one page of the subset of the plurality of pages that have been identified as relating to the data request; and executing the data request using the at least one page of the subset of the plurality of pages in the main memory, wherein the paged data vector is generated by a method including: calculating a chunk size for a data vector; and encoding the data vector according to the chunk size to form a paged uniform-partition tree data structure corresponding to the paged data vector, wherein encoding the data vector comprises: constructing a root node as a page chain, partitioning the data vector according to the chunk size to form the plurality of chunks, and encoding each of the plurality of chunks into a transient data structure using a respective selected compression type, wherein the page chain is initially an empty page chain; and moving each of the plurality of chunks that has a regular size from the transient data structure into a smallest fitting page, and appending each smallest fitting page onto the page chain. storing, in a secondary storage, a paged data vector, wherein the paged data vector includes a plurality of chunks, wherein the plurality of chunks are compressed using non-uniform compression, and wherein the plurality of chunks are logically arranged in the paged data vector as a plurality of pages; receiving a data request; identifying a subset of the plurality of pages that relate to the data request; loading, from the secondary storage to a main memory, at least one page of the subset of the plurality of pages that have been identified as relating to the data request; and executing the data request using the at least one page of the subset of the plurality of pages in the main memory, wherein the paged data vector is generated by a method including: calculating a chunk size for a data vector; and encoding the data vector according to the chunk size to form a paged uniform-partition tree data structure corresponding to the paged data vector, wherein encoding the data vector comprises: constructing a root node as a page chain, partitioning the data vector according to the chunk size to form the plurality of chunks, and encoding each of the plurality of chunks into a transient data structure using a respective selected compression type, wherein the page chain is initially an empty page chain; and moving each of the plurality of chunks that has a regular size from the transient data structure into a smallest fitting page, and appending each smallest fitting page onto the page chain. calculating a chunk size for a data vector; and encoding the data vector according to the chunk size to form a paged uniform-partition tree data structure corresponding to the paged data vector, wherein encoding the data vector comprises: constructing a root node as a page chain, partitioning the data vector according to the chunk size to form the plurality of chunks, and encoding each of the plurality of chunks into a transient data structure using a respective selected compression type, wherein the page chain is initially an empty page chain; and moving each of the plurality of chunks that has a regular size from the transient data structure into a smallest fitting page, and appending each smallest fitting page onto the page chain. constructing a root node as a page chain, partitioning the data vector according to the chunk size to form the plurality of chunks, and encoding each of the plurality of chunks into a transient data structure using a respective selected compression type, wherein the page chain is initially an empty page chain; and moving each of the plurality of chunks that has a regular size from the transient data structure into a smallest fitting page, and appending each smallest fitting page onto the page chain.