Private Clouds and the RDBMS
Private clouds are all the rage right now. The concepts in the post applies to all virtualization products and all of the major enterprise databases servers so I am going to stay vendor neutral. My experience is mostly with VMWare and SQL Server so you may have to convert to the terminology of your platform.
So what is a “Private Cloud”? Right now, it is simply a large virtual machine cluster with management software. I expect it to mature to include more value added software like content deployment, dynamic load balancing of guests and other % as a service. It is often used during a tech refresh and\or a consolidation project. You can almost take two datacenter rows of 5 year old hardware and get it into two racks of current hardware chopped into virtual machines.
Let’s say our private cloud cluster consists of 5 servers having 4 sockets & 6 core with 96GB of RAM. Each virtual machine gets 2 cores and 2-8GB of RAM. This gives us about 60 virtual machines. Some platforms allow for oversubscription but we will keep it simple.
Here is a simple logical picture.
As you can see that if you can replace 60 physical servers and get as good or better performance then this is a no brainer. You save on power, space, CapEx hardware costs, licensing(depending on platform), and administration.
However, you also have 10 various Database Servers. They range from mission critical to dev\QA boxes. Where do these belong? It depends.
You will always get better performance out of bare iron because there is some overhead with virtualization. Some workloads suffer more than others. For example, a CPU bound workload will suffer the most and an IO bound workload will suffer the least(assuming you can give the VM enough memory.) Another consideration is the size of a VM. A database server with two cores and 2GB of memory will see less of an impact of virtualization than an 8 core VM with 16GB of RAM. Adding cores to VM’s does not scale linearly. Having said all of that, it make sense to leverage consolidation features of the database server and use bare iron for most private cloud applications.
There are still good applications for private cloud database VM’s. Here are a few:
- Development and test environments
- Supporting legacy environments that have old RDBMS installations
- Support databases that require separation due to security or compliance
- Sandbox environment to prevent resource intensive databases from impacting mission critical databases.
Here is the racks again with the database servers.
The ability to mix physical devices for virtual machines is one of the biggest benefits of a private cloud. Most public clouds do not offer this functionality. At least not yet. Use this design to get the most out of your environment.
Note: While I am recommending physical hardware for the DB server, they do run well virtualized sized up to 4 or 8 cores. However, since we would most likely need more power than that in this scenario, bare iron would be the best.
MySQL Cheatsheet for SQL DBAs
SHOW VARIABLES – This is like sp_configure or sys.configurations
SHOW STATUS – This like sys.dm_os_%. Basically, all runtime counters for the database engine components.
SHOW PROCESSLIST – This is like sp_who2
SHOW TABLE STATUS – This is like sp_help
These can be filtered like this: SHOW VARIABLES LIKE ‘%innodb%’
Those are the big ones. The full list can be found here.
A MySQL WTF?
I read this post and was like Wow. However, then I read about the author and my jaw dropped. It came from the founder, original dev and CTO of MySQL.
About Me
- Michael Widenius
- Founder and original developer of MySQL
If nothing else, read the “So what went wrong with MySQL 5.1 ?” section. Imagine Mark Souza coming out with something like that about SQL Server or Larry Ellison bashing 11G.
Open source is definitely “open”
MS SQL Grows Faster Than Rivals in a Tight Race
Here is a quicky I just ran across.
Revenues for Microsoft (NSDQ: MSFT)’s SQL Server in 2007 grew at a rate of 14% over the previous year and at a rate that exceeded that of its principle relational database rivals, IBM (NYSE: IBM) and Oracle (NSDQ: ORCL), each with 13.3% growth.
Full article from InformationWeek.
The numbers look good when the following is considered:
- Economic downturn
- Most customers are already on SQL Server 2005 before 2007
- Customers waiting on a battle tested Windows Server 2008 for tech refresh
- Customers waiting on SQL Server 2008
I think the ones to watch out are are MySQL and Ingres. Come on with the PHP driver for SQL Server RTM and let it be good!
The article reports the following for the open source vendors:
Popular open source databases, such as MySQL, barely show up in market analysis based on revenues. MySQL charges a subscription for updates and technical support. Its revenues have grown from $16 million in 2005 to $38 million in 2007, giving it a 0.2% share of the relational database market last year. Those revenues were growing at 10.9%, IDC estimates, even though usage figures based on thousands of daily downloads would be much higher.
Ingres, an open source system after being spun out of CA (NSDQ: CA), accounted for 0.1% of the market’s revenue, a growth rate nevertheless of 207% in 2007 compared to the previous year.
The problem is that most of the people using the software are not paying the vendor for support. They are being supported by 3rd parties like their hosting provider or other partner. Those beans are not being counted.

