AlwaysOn versus Active Data Guard—A Value Proposition

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
Licensing Costs $164,976 $570,000 $690,000
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.

24 Hours of PASS–My Session

Slides are here


So I had the honor of being selected to speak at the upcoming 24 Hours of PASS (3/21, or 21/3 for my international readers), and I was thrilled, almost as thrilled as if I had been selected to drive in the 24 Hours of Le Mans. Ha–since the racing thing won’ t be happening, I’m always excited to talk about databases.

My session will talk about all of the new HA and DR options in SQL Server 2012–I’ll cover what new in clustering and then discuss and demo the exciting new feature AlwaysOn Availability Groups. I’ve been test driving them for 6 months now, and am really happy with the feature.

As always if you have any questions or comments about my session share them here. And if you are in the New Jersey SQL users group, you will get a dress rehearsal, er sneak preview of my session the night before on March 20.

%d bloggers like this: