SQL Server 2016 High Availability

Author: Paul Bertucci
Publisher: Sams Unleashed
Pages: 432
ISBN: 978-0672337765
Print: 0672337762
Kindle: B073XQDM8B
Audience: Database architects
Rating: 4.5
Reviewer: Kay Ewbank

This is a guide to designing and implementing high availability solutions for SQL Server based on Microsoft's range of products and services. It aims to be a high availability recipe book - does it succeed?

The heart of the book is a collection of business scenarios that set out a number of scenarios for high availability requirements. In each case, the author sets out the design process necessary to work out which high availability approach best suits those needs.



The first two chapters of the book set out a definition of high availability and the various hardware and software options that Microsoft currently offers for high availability. Chapter 3 then defines  how you can go about designing a roadmap for a business scenario that you want to make highly available. Essentially, this means carrying out an assessment of the situation; working out the high availability 'variables' such as time to recover, scheduled maintenance frequency; and cost of downtime. The design process then goes on to working out the optimal HA solution, before working out and justifying the cost of a selected HA solution.

Having laid out the mechanics of high availability, Bertucci then goes on to show ways of implementing high availability. This part of the book starts with a chapter on failover clustering, its variations and how it works. The chapter ends with a look at how to install failover clustering on Windows and SQL Server.

SQL Server clustering is then covered in more detail in several chapters, each concentrating on a different aspect of the techniques and tools. The chapters start with a look at installing and using SQL Server clustering within the WSFC - Windows Server Failover Clustering, what the potential problems are, and how to set up multisite clustering.

A chapter on SQL Server AlwaysOn and Availability Groups is next, and gives an interesting analysis of the fact that while Microsoft is touting this HA approach for the future, it is in fact very reminiscent of SQL Server clustering and database mirroring.

The next chapter covers SQL Server Database Snapshots, which seem like an older and simpler technology, but are still useful for providing reporting without compromising performance.

Data Replication is next on the agenda. This is not obviously a high availability technique, but Bertucci argues that you can make use of replication for HA, by using a replicated server for reporting and other processes that mainly read data.

Log shipping as a technique for creating 'almost' hot spare database copies is considered next. Log shipping used to be seen as a cheap way to achieve replication, but SQL Server now includes replication as part of the main product, so log shipping no longer offers this advantage. However, it can still be used for HA, and Bertucci explains how.

The next couple of chapters move to more modern options, starting with high availability in the cloud. This chapter starts with a worrying section titled 'a high availability cloud nightmare', where Bertucci discusses the denial of service attack from 2016 that hit a number of big name companies including Amazon, Twitter, PayPal and Netflix. Having laid out the problem, Bertucci then goes on to look at how to set things up so your data remains highly available in the cloud.

The next chapter is titled High Availability and Big Data Options, and discusses the use of Azure and HDInsight. This chapter ends with a set of Azure use cases including data warehouse on demand, ETL automation and BI integration.

A chapter on hardware and operating system options that you need to consider for high availability comes next, followed by a look at disaster recovery and business continuity. The book ends with a number of chapters bringing everything together - bringing HA together, upgrading your current deployment to HA, security and HA, and the future direction of HA.

Overall, I think the approach taken in this book works well. Bertucci takes a very practical approach, and includes interesting examples. His analysis of costs, and the use of decision trees to help you make decisions, both make the options clear.  One point to note is that this book is (as you'd expect from the name), very Microsoft specific, so while it's excellent if you've decided that you want to use Microsoft software everywhere, it would be of no use to anyone trying to work out what advantages different software vendors offer.

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.


Graph Databases in Action (Manning)

Author:  Dave Bechberger and Josh Perryman
Publisher: Manning
Pages: 366
ISBN: 978-1617296376
Print: 1617296376
Audience: Developers interested in graph databases
Rating: 4.5
Reviewer: Kay Ewbank

This book sets out to give developers building applications using graph databases an understanding o [ ... ]

Beginning Rust Programming

Author: Ric Messier
Publisher: Wiley
Date: March 2021
Pages: 416
ISBN: 978-1119712978
Print: 1119712971
Kindle: B08WZ2D7WC
Audience: Developers wanting to learn Rust
Rating: 3
Reviewer: Mike James
Everyone seems to want to know what makes Rust special. Does this book give the answers?

More Reviews


Last Updated ( Saturday, 28 November 2020 )