3. Database Configuration : Access to Data : Column Buffer Manager (CBM) Memory
 
Share this page                  
Column Buffer Manager (CBM) Memory
The Column Buffer Manager (CBM) memory is a portion of the server’s memory (RAM) that is used to store data that was pre-fetched from disk. A large CBM memory size can improve query performance because only data not yet in CBM memory will have to be read from disk to satisfy the query. Vector performs smart buffer management and asynchronous pre-fetching to optimize throughput if not all data fits in memory.
Use the vectorwise.conf initialization parameter bufferpool_size to indicate the size of CBM memory. By default 25% of the server’s memory will be allocated for CBM memory (per database).
Data in CBM memory mirrors data on disk--that is, if the data resides compressed on disk then it will be compressed in CBM memory to make optimum use of the memory buffer. Data will only be decompressed when it is taken out of CBM memory to be processed. If you want to avoid the small cost of decompression or you are dealing with very small tables with very few blocks per column then you can choose to store data uncompressed by using the command set trace point qe82 before you create a table.
Note:  An uncompressed table may take up more disk space and hence may take longer to read from disk, so you should only disable compression for small or medium size tables.