You've virtualized your servers, improved your hardware utilization, reduced your server administration costs and optimized your energy consumption. You've even moved part of your workload to the cloud, taking virtualization to the next level. You might even have virtualized some of your infrastructure to ease administrative burden.
Now it's time for your databases. Database virtualization is a way to improve flexibility, maximize efficiency, lower costs and ease administrative overhead. There's no hardware involved. Instead, the resources you're saving are the money you pay to database vendors and salaries you pay to a larger staff.
"The most common virtualization is server virtualization, which allows it to run anywhere-there are no boundaries," said Brian Babineau, senior consulting analyst at the Enterprise Strategy Group. "In database virtualization, it's very similar. We take an instance of rows and columns and allow it to be fluid. We can move it anywhere. We can shrink the size of it, we can write to it anywhere, we can allow the table to be split up multiple times."
Babineau said that by removing data from a proprietary database, you can accomplish a number of important things. First, he said, you can make better use of the databases you already have without having to buy more licenses than you actually need. Second, you can support communication between applications that normally would use different databases.
But for many early users of database virtualization, the reasons for implementing the technology are similar to the reasons for implementing server virtualization: easier management, higher availability and better performance.
"The primary goal of database virtualization is to enable a standard database to run on a shared-nothing cluster of commodity servers, thereby improving scalability and high availability at a lower cost compared to purpose-built shared-disk cluster databases," said Matthew Aslett, an analyst at The 451 Group.
A shared-nothing database, according to Aslett, is based on independent servers with no single point of contention.
"The main usage scenario is high availability, although, unlike traditional simple database clustering systems-where one database installation is active and the other is passive-with database virtualization deployments, all database servers are active at all times," he said.
The advantage of having all database servers active at once is that you get both real-time updating and better performance, since multiple servers are sharing the load that would otherwise be supported by one. The downside to multiple instances of a database is that you have to pay for multiple licenses and you have increased administration load. Fortunately, by using database virtualization and decoupling the database from the data and the specific server, you can overcome this.
"Our focus has been that many databases are accessible and manageable as if they were a single database," said Noel Yuhanna, principal analyst at Forrester Research. "One of the biggest problems we've seen over the last five or 10 years is the data explosion. Some organizations are running 15,000 databases. Managing them and provisioning them has become a big problem."
Yuhanna said database virtualization can help here, as well. "Virtualization provides a common framework for better availability, scalability, manageability and security," he said. "The biggest challenge is around managing these environments. It's becoming difficult to maintain the SLAs [service-level agreements] for these applications."
With virtualization, Yuhanna said, the real key is to make the best use of existing resources. "It's about reusing resources and transparent scale-out-common policies, improving SLAs, and centralized management and mixed workload optimization," he said.