Databases: The Next Big Virtualization Thing
Databases: The Next Big Virtualization Thing
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.
Ability to Mix Workloads with Same Database
The ability to mix workloads with the same database is a significant benefit of database virtualization.
"Traditionally, you had a warehouse and a transactional system," Yuhanna explained. "You need access to the same data by several different applications."
Yuhanna added that virtualization allows you to decouple the application from the data.
"It's being able to unify data and make it sharable," Yuhanna said, describing the benefits of database virtualization. "More than 30 percent of data in organizations is duplicated because they have to use those databases by multiple applications." This means that keeping the data consistent is a problem, and it also means that companies are using many databases to access duplicate copies of what is supposed to be the same data. It's a critical requirement by organizations to unify their data to get a single version of their data. They need consistent data for the user.
Yuhanna noted that database virtualization is closely tied to data virtualization and federated data. "We are seeing more trends to heterogeneous data," he said. "You federate the data into a common meta layer. Forrester calls this the information fabric. Below the data layer is the database virtualization layer."
Of course, the idea of database virtualization is nice, but the real question is how it works in the real world. Greg Asta, director of software development for Omnigon Communications, has the street-level view. Asta is developing a virtualized database application for an agency of the U.S. government. While he's not allowed to say which agency or to describe the application (it's classified), he was willing to talk about why he's using database virtualization.
Asta said that Omnigon is using Xkoto's Gridscale database virtualization system to provide the capabilities he needs for this project. (See related story, here.) "We use it for a combination of high availability as well as active-active replication and multimaster replication," he said. "There's a strong desire for clients who are investing in multiple server locations to not have an active-passive setup."
In the case of his client's database, "I can run it off of multiple servers at the same time," Asta said. "We use virtualization to maintain data repositories. Virtualization gives us a highly available infrastructure. We can do rollouts without taking the system down and have outages without going down. We can refer to a virtual database instead of any n-number of databases, which helps development and makes for a more simple architecture."
The key requirement for Asta's client is availability. "If the main data center goes off the grid, because the database is virtualized, they can continue their session. In the ideal scenario, they wouldn't notice," he said.
Right now, only a few companies-including Xkoto and Xeround-provide database virtualization solutions. The 451 Group's Aslett said Continuent also makes products that provide database virtualization capabilities, although the company doesn't make that claim explicitly. Enterprise Strategy Group's Babineau said he expects all of the major database players to enter the market in the near future.
Contributing Analyst Wayne Rash can be reached at firstname.lastname@example.org.