Posted by: Colin Smith
Database Administration, Database Virtualization, MS SQL, MS SQL Admin, MS SQL Server
Some of you may see the name of this post and think that I am going to talk about running SQL Server on VMWare or HyperV. Well that is sort of correct but not really. I am involved in the very early beta testing of a new product that will let you provision VDB’s. I am not going to mention names just yet but so far the product is very nice. No GUI yet so I have to interact and do pretty much everything via the command line. But, let me share this with you.
I picked a database that is about 180Gigs, not very big, as my virtualizaton candidate. After doing the pre-work that is needed I was able to provision my VDB to a SQL Server. If you look at it on SQL Server you will see that the database is 180Gigs and you are able to do anything, so far, that you would with a real database. I am also running all this on VMWare guests. So now if you look at the size of the VDB via the virtualization stack, you see that the database is only about 3MB. That is a very big savings. Now that comes with one pretty big caveate, but it is worth it. You do have to have a separate SQL Server instance running where the virtualization software is housing a compressed copy of the database that is in a restoring state at all times. This is what the VDB is actually provisioned from. So how big is that database, well I am getting about 3:1 compression ratio, so that restoring copy that is the VDB source is about 40GB. So 180 to just over 40GB and now I have a second copy of that database. Now the really cool thing, Say I need a third copy or more, well all of those can be taken off the same source and they actually only take a few MB to start. That is a huge savings on disk. Think about if I was working with a database that was 1T or more.
Now another really great thing about this, to provision the VDB, it takes a couple minutes. So even for my 180Gig database, for me to do a restore to another instance for developers, I am talking over an hour, now that is literally less than 5 minutes, after the initial backup of the actual source is taken and compressed and presented as a restoring database. But that is a one time process and now I can provision as many VDB’s as I want and it will only take me about 5 minutes or less per copy that I need. Plus I am only going to be taking up Megabytes and not Gigabytes or Terra bytes. The possibilities of this are just awesome.
There is a lot more to talk about around this and I am just scratching the surface here. But keep an eye out as I will be posting more and more about this as I do more testing with the product. I am working with this companies engineers and providing feedback on features that would be nice to have as well as letting them know about bugs that I run into.