The WordPress.com stats helper monkeys prepared a 2012 annual report for this blog.
Here’s an excerpt:
19,000 people fit into the new Barclays Center to see Jay-Z perform. This blog was viewed about 150,000 times in 2012. If it were a concert at the Barclays Center, it would take about 8 sold-out performances for that many people to see it.
Great news for you Windows Server 2012 early adopters – you can now use DataKeeper Cluster Edition with Windows Server 2012. I’ll be posting some Windows Server 2012 Step-by-Step articles before the end of the year and will be sure to include some multisite cluster examples as well. In the meantime, if you want to build clusters based on Windows Server 2012 and want to eliminate shared storage as a single point of failure or you want to stretch your cluster across geographic locations you can do that with DataKeeper Cluster Edition v7.5.
I’m glad I got Boy Scout Troop 20 registered under the deadline. Free Google Apps was a great intro to the product for me and I looked at it as a gateway “drug” that gave me enough of a look to consider the premium version for any “serious” cloud based business operation, i.e., not a Boy Scout Troop. While $50/year per user is not expensive, it certainly can be a show stopper for many small non-profit organizations who may have otherwise been potential customers. So the question is will Microsoft take advantage of this opening to gain market share? If so, I know where I will be deploying my next cloud based small business site.
Is AlwaysOn Availability Groups a viable alternative to AlwaysOn Failover Clusters in the public cloud?
I recently read an article entitled SQL Server 2012 AlwaysOn: High Availability database for cloud data centers where the author John Joyner makes a case for using AlwaysOn Availability Groups for SQL Server high availability in the cloud. I have been investigating AlwaysOn Availability Groups since it was available in pre-release versions of SQL Server 2012 and while it certainly has some valid uses (mostly in disaster recovery configurations), saying that it is a “new way to achieve HA SQL” glosses over many of the issues which make deploying AlwaysOn Availability Groups as a replacement for failover clusters simply not a viable option in many cases and not a good idea in the rest of the cases. In a response I wrote to the article I proposed that an AlwaysOn Multisite Clustering using the host based replication solution DataKeeper Cluster Edition is a much better alternative and I went ahead and explained why..
My original response to the article seems to have been deleted, so I decided to repost my response to the original article below:
There are a few things to consider with AlwaysOn Availability Groups. As you mention, “Microsoft announced support for some System Center 2012 SP1 applications to work with SQL AlwaysOn”, meaning that there are still applications that do not support AlwaysOn. In fact, there are a LOT of applications that do not support AlwaysOn Availability Groups, including any applications that use distributed transactions. And what about the other limitations, like not being able to keep MSDB, Master and other databases in sync? I blog about these limitations here.
I agree that SQL HA is important, however, the only way to get “High Availability” (meaning automatic recovery in the event of a failure) with AlwaysOn Availability Groups is by using synchronous mirroring. At PASS Summitt in Seattle earlier this month I sat in many different presentations on AlwaysOn and almost without fail the presenters talked about AlwaysOn in an asynchronous configuration. The reason being is that AlwaysOn synchronous replication has a SIGNIFICANT impact on the performance of your application. I have personally measured up to a 68% performance penalty with AlwaysOn Synchronous mirroring, and that was across a dedicated 10 Gbps LAN! I blog about this result here.
Unfortunately, in an asynchronous configuration you give up automatic failover, so you really are not getting HA, you are getting data protection, but certainly not the same RTO as you can expect from a traditional SQL failover cluster.
And then finally there is the cost to consider. SQL Server 2012 Enterprise is nothing to sneeze at. If you want to build a 2-node cluster and take advantage of readable secondaries and you are using a 2-socket, 16-core servers you are looking at shelling out close to $220k for SQL Server 2012 Enterprise licenses. I broke down the associated cost in my blog article here.
Don’t get me wrong, SQL Server 2012 AlwaysOn Availability Groups can solve many problems, but I would not categorize the asynchronous configuration required in most cloud deployments as an HA alternative. Many people are overlooking the other “AlwaysOn”, AlwaysOn Failover Clusters. New features of SQL Server AlwaysOn Failover Clusters, including enhanced support for cross subnet multisite clusters, will give you a true HA solution and overcomes all of the limitations I describe above. Of course in a pure cloud solution you may not be able to integrate with array based replication to support multisite clusters, but you can always use host based replication solutions such as SteelEye DataKeeper Cluster Edition to build multisite clusters in public or private clouds and in your own physical data center and you can do this with SQL Server 2008 through 2012 AND it works on SQL Server Standard edition as well as Enterprise.
Have you done any testing with AlwaysOn Availability Groups in a HA configuration? If so I’d be curious to know if you measured the overhead associated with synchronous replication in your environment.
No doubt AlwaysOn Availability Groups is a hot topic here at SQL PASS Summit. As I mentioned in my previous posts, you need to consider the overhead associated with AlwaysOn as well as other limitations, If however you can deal with the overhead and the limitations do not apply to you and you still want to deploy AlwaysOn Availability Groups you may want to have a seat when you go open your checkbook.
I priced out (list price) a 2-node solution using SQL Server 2012 AlwaysOn Availability Groups with a read-only target with a typical 2-socket, 16-core server configuration. I also added a comparable configuration running DataKeeper Cluster Edition on SQL 2012 Standard Edition and was as SQL 2008 R2 Enterprise Edition.
As you can see, deploying SQL Server 2012 Enterprise Edition (required for Availability Groups) your expense is much greater than if you deploy a similar replicated cluster solution using DataKeeper Cluster Edition.
Stop by both 351 at PASS Summit to see a demo and get more information.
After hearing all of the great sessions at SQL PASS Summit on Availability Groups are you thinking about biting the bullet and writing the check to upgrade to SQL Server 2012 Enterprise Edition to take advantage of this great feature? Before you get your checkbook out, stop and ask yourself these questions.
Do I use/need
- to lower my SQL Server cost?
- replication or log shipping?
- to minimize the impact that replication has on the performance of my application?
- Lync Server, Dynamics CRM or other applications that use distributed transactions?
- to ensure that SQL Agent jobs such as database backups, optimizations, DTS and others continue to run regardless of the node in service?
- to ensure that SQL login accounts are kept in sync between cluster nodes?
- to minimize my administrative burden?
If you answered yes to any of these questions, you may want to reconsider your options when it comes to your SQL Server HA/DR deployment. While AlwaysOn Availability Groups certainly have their place, you may want to consider the overhead associate with them as I discussed in my previous article. Also, you really need to consider what applications will be utilizing the SQL Server database as not all applications support AlwaysOn Availability Groups, including many of Microsoft’s applications such as Lync Server and others (check your application documentation).
What I would propose instead is to consider building a traditional active/passive cluster which overcomes all of the limitations listed above, but instead of using shared storage use the cluster integrated block level replication solution from SIOS Technology called SteelEye DataKeeper Cluster Edition. Using this replication solution you are able to eliminate the SAN as a single point of failure as well as eliminate all of the limitations associated with AlwaysOn Availability Groups listed above. When you consider the possibility of using high speed local storage solutions such as @Fusionio in conjunction with DataKeeper you can have a high speed, highly available SQL Server cluster with a minimal investment in hardware and software. And best of all, this solution works with SQL 2005/2008/2008R2/2012 Standard Edition as well as Enterprise Edition, so the cost saving alone on SQL Server licensing can more than pay for the solution (more on costs saving in my next post).
You can by a 2 server pre-package solution that includes HP, Dell or Supermicro servers, Fusion-io ioDrives and DataKeeper software to help you deploy you first high speed, highly available SQL cluster. For more information see the press release here.
Attending the sessions at PASS Summit this week it has become obvious that AlwaysOn is a hot topic with about six sessions dedicated to the topic. The one thing that I learned is that although AlwaysOn certainly has its applications, most of the successful deployments are based on using AlwaysOn in an asynchronous fashion. The reason people avoid the synchronous replication option is that the overhead is too great. During synchronous replication any write must be committed on the replica before it is committed on the source. In the testing that I have done, this overhead introduced can be as much as 68%.
For example, in a test where I have a database inserting about 1,000,000 rows per second and we measure the throughput on the log file, we see that with no mirroring in place we are writing about 400 MBps. Once we start replicating that database with AlwaysOn Availability Groups across a 10 Gbps LAN, we see about a 68% drop off in performance, with this particular database slowing down to about 250,000 inserts per second.
Figure 1 – MBps written to a SQL Server database before and after AlwaysOn Synchronous Mirroring
If you are considering AlwaysOn as a replacement to your failover cluster, this drop off should be of a major concern to you. In order to achieve the automatic failover that you are accustomed to in failover clustering, you must use synchronous mirroring, which means that you must live with this performance hit. Generally this is not going to be acceptable, which is probably why you don’t hear the experts recommending such configurations on a regular basis.
So what should you do? Should you stick with you traditional failover cluster and a SAN? What if you want to take advantage of fast, high speed storage such as Fusion-io? In that case, you can’t use a traditional cluster…or can you?
The good news is that you can build a cluster without a SAN and do it all without the expense, limitations and overhead associate with AlwaysOn Availability Groups (more on the limitations and expense in my next blog post). By using DataKeeper Cluster Edition you can build clusters without shared storage AND the overhead associated with Synchronous replication is closer to 10% vs. the close to 70% we see with AlwaysOn Availability Groups.
Come to booth 351 at #SQLPASS and I’ll be glad to demonstrate how the solution works.
My thoughts and prayers go out to those affect by this massive storm. Although I live in NJ, my neighborhood remained relatively unscathed other than some downed trees and power lines. The pictures coming in from the coastal communities up and down the eastern seaboard show that many people did not fare as well. I’m hopeful that most of the damage is property that can be rebuilt, but I am sorry to hear that some people lost their lives and I can only imagine the pain of their friends and family – I am truly sorry for their loss.
As an employee of a company that specializes in disaster recovery software, I am also privy to many stories of companies that lost data that cannot be replaced. Many of these companies never recover from such catastrophes, but those that do are usually the ones who immediately look to put into place a plan that includes some sort of real-time data protection that includes replicating their critical data offsite or to some cloud repository so they are never caught in such a predicament again. If that is your story or even if you were lucky enough to avoid disaster this time but want to prepare ahead, please contact me immediately so I can help you assess your risks and recommend some data protection and disaster recovery solutions to help mitigate the risks.
Register here to learn how high performance and high availability for Microsoft SQL Server can be achieved with solutions from Fusion-io and SIOS. This powerful combination delivers high-speed storage and high availability for SQL Server without the limitations of single copy clusters or AlwaysOn Availability Groups.
Make the switch and enjoy:
- Cost savings
- Higher database performance
- Smaller floor space requirements
- Lower cooling and power demands
… all without sacrificing availability.
The end result: faster performance at a fraction of the cost of a typical SAN with 100% data availability.
Dave Bermingham is recognized within the technology community as a high availability expert and has been a Microsoft MVP in Clustering for the past three years. David’s work as Sr. Technical Evangelist at SIOS has him focused on delivering high availability and disaster recovery solutions. David holds numerous technical certifications and has over twenty years of technology experience focused on application availability.
Jamila Gunawardena is a Senior OEM Sales Engineer for Fusion-io. Jamila has over 15 years experience in Software Engineering and System Design with expertise in Internet, Bioinformatics, and Semiconductor DFM solutions. Currently, Jamila is focused on ISV and appliance partnerships at Fusion-io.
Geoff Hiten is a Microsoft SQL MVP and is currently an Infrastructure Architect for Intellinet. Geoff began working with SQL Server in 1992 with version 4.2 and has used every version since. He specializes in high-availability and high-performance SQL systems. Geoff is heavily involved in the Microsoft SQL Server Community and was initially awarded MVP status in 2004. Geoff was appointed in 2011 to fill an interim Director position at the National PASS organization.
After the work day is done, this is what I like to work on…
If you would like to help fund our mission to support music education in our public schools, please visit our Indiegogo campaign page to find out about our fundraising campaign and how you can help.
Now back to some Hyper-V Replica Performance Analysis which I hope to share with you soon…