Running OLAP on virtualized environments

An OLAP database is an in-memory database. All the data is held in-memory and used from there when it is run. Therefore, the fast availability of enough RAM is a critical performance factor. If the computer starts to swap out memory to disc, performance suffers dramatically.

This dependency on fast RAM access also has consequences for virtual environments. In such environments, the resources RAM, and cores are shared among multiple virtual computers. This can have a negative effect on the performance because the VM with the OLAP Service must wait for the system resources. We recommend that you run the cluster node either on dedicated, physical hardware or as the only virtual computer on a host system. This enables the cluster node to deliver the best possible performance.

Consider these performance aspects:

  • Memory aspect

    The increased writeback performance of OLAP is because OLAP is an in-memory technology. However, this means that the OLAP Service requires exclusive full access from the processor to the memory. In a virtualized environment, each VM shares access to the main memory with all other VMs. Normally, this access cannot be configured. The number of channels to the memory is limited. In such an environment, the OLAP Service cannot reach full performance.

  • CPU aspect

    OLAP database calculation time is normally spread over thousands and millions of single calculations. In virtualized environments, processor cores can be assigned to VMs. However, this setting cannot always guarantee exclusive access to these cores. For example, assigning four cores to a VM means that if during a time period the host system recognizes that a VM needs more processor power, then the system assigns more cores to this VM for this time period and up to a maximum of four cores. This overhead can lead to serious performance issues.