Virtualization and Databases – Can they co exist ?

As you know – VRP (Virtual Resource Partitioning) is our unique technology that allows our customers to maintain stable QoS and SLA by controlling the exact amount of CPU and IO each and every transaction consumes, in real-time and based on the business needs.

Even though we have our own virtualization technology – I have been asked many times if MoreVRP can work or integrate with other VM technologies such as VMWARE and others.

So there are several “integration points”. Some are technical and some are conceptual :

1. Databases and Virtual Machines
As you already know – virtualization technologies didn’t penetrate the databases market as it did in other fields. This is due to the facts that :

  • Enterprises requires dozens of cores to run a big database – VM limits you with the amount of CPU power you can harness to a specific VM.
  • Most databases are IO bound. VM overheads on IO paths are so high that customers are not willing to saccrifice this overhead for the sake of flexibility and manageability.

The concept of MoreVRP in that field is to use a single box with a single OS while distributing resources (CPU and IO) in real-time among all databases, processes without the VM overhead and without even changing anything in your database or on your operating system.

Here is a quick reminder :

When it comes to VMs – migrating from a physical to a virtualized environment takes a lot of time and effort. MoreVRP deployment doesn’t even need to bounce the server. Plug the agent in and you are up and running, both monitoring and managing.

2. APIs and integration with VM infrastructure – Application awareness
We have done some work in the past (ad-hoc) by integrating MoreVRP to VMs, based on specific needs of some customers.

MoreVRP has an bi-directional API that can :

  • Receive commands from a high authority (VM manager) : Usually used when the VM management application sees that a specific VM is reaching its limit, then before adding more CPUs to that VM it first tries to throttle down less important transactions in order not to affect the QoS of other VMs that share the same physical environment (CPUs and IO paths)
  • Send commands to the VM manager : Usually used in cases where MoreVRP sees an important transaction with a bad QoS. It first tries to balance the resources within the VM to solve it and if it is unsuccessful due to lack of resources – then it automatically asks for the VM management application to add more CPU power to that environments and once its finished, takes it back. This is done through our rule engine that can trigger scripts that can communicate with any other APIs including VM APIs. This brings Application awareness” to the VM architecture. VM’s can only see and react to OS resource usage. They are unaware of important business transactions that haven’t completed their run due to the lack of resources. MoreVRP equips VM architectures with Application awareness so it can make smart decision in real-time based on the business needs.

If you already use a Virtualization technology – just think of the combination of what you have today and MoreVRP it as a “smarter” VM architecture that shifts resources dynamically based on a specific transactions requirements and not only based on the overall VM utilization.

The pack of emails I need to answer this morning is very “physical” so I need to keep on moving :)

Feel free to drop your comments.


This entry was posted in Conceptual, Technical and tagged , , , , , , , , . Bookmark the permalink.

One Response to Virtualization and Databases – Can they co exist ?

  1. Pingback: EMC mixes database upstart into its Greenplum pudding | Algesr

Leave a Reply