With the launch of SQL 2012, much of my focus has been on the new Availability Groups functionality. I do lots of work in the HA and DR space, and the ability to utilize secondary copies of databases is an outstanding functionality enhancement to SQL Server. Additionally, now we can have multiple secondary replicas (up to three). One thing to consider is licensing—a lot of organizations used to leave their DR servers unlicensed—which is perfectly fine with Microsoft, as long are you are not using it. If you are using the read-only, or secondary backup functionality, those servers must be licensed. However, this will still be a lot cheaper than the alternatives.
As some of you may know, I also work with Oracle databases in my role—I’m on a cross functional Infrastructure Architecture team. Recently, I was involved in a project where I had the opportunity to evaluate Oracle’s Active Data Guard product, which is a cost option to Oracle Enterprise edition (meaning additional charge on top of Enterprise licenses). This product is a new feature as of Oracle 11G—mind you Data Guard has been around since version 8 of Oracle (around 2002) and is a fairly mature product, much like SQL Server mirroring (introduced in 2005 SP1). In terms of licensing standard Oracle Data Guard has been included in Enterprise Edition since it was introduced, however Oracle requires the DR server to be licensed at all times, even if it was not used on a regular basis. Oracle has supported multiple secondary databases for a while, and does support limited read use of a secondary (if in the logical standby model—which is fairly limited in its datatypes allowed).
Since, I’ve been playing with both databases recently—I decided to do a feature and cost comparison. All costs are from current price lists from MSRP from both Oracle and Microsoft. The server architecture is feature in the below picture; a primary, a DR and a reporting server . So three servers, which will for the purposes of licensing will have 2×4 core Intel CPUs.
Below is a table of Disaster Recover features in both platforms, along with the licensing costs (the detailed licensing costs are available upon request)
|Microsoft SQL 2012 Always On||Oracle Enterprise with Standard DataGuard||Oracle Enterprise Edition with Active Data Guard|
|Take Backup on Secondary Copy||Yes||Yes||Yes|
|Read Only Queries on Secondary DB||Yes||Limited||Yes|
|Fixes Corruption in-line||Yes||Yes||Yes|
|Multiple Secondary Replicas||Yes (3)||Yes||Yes|
|Synchronous or Asynchronous Transfer||Yes||Yes||Yes|
|Virtual Network Name||Yes||Yes||Yes|
As you can see, for the disaster recovery (and offline reads) SQL Server matches Oracle feature for feature, at less than 30% of the cost. No slight to Oracle—they have a great (albeit very expensive) RDBMS, I’m just impressed at what the SQL Server team did with AlwaysOn. And speaking as a DBA with many years’ experience with both platforms, I find Availability Groups easier to configure than DataGuard. Additionally, there has been some complaints about Microsoft’s new pricing strategy, however this shows how much cheaper SQL is, compared to Oracle.