74 6
Part V: Enterprise Data Management
High Availability versus Scale Out
Clustering in Windows and with SQL Server 2012 is primarily designed around high avail-
ability rather than scalability. (Although you can get some scalability from the use of Read
Only AlwaysOn, which is built on top of Windows Clustering.) So what is high availability
and what is scalability?
High availability provides you with levels of redundancy to increase SQL Server’s uptime.
Although uptime of 100% is highly desirable, this is virtually impossible. Some level of
downtime is required to perform certain tasks such as server or database patching, and
there is always the chance of hardware problems that would impact that uptime number. A
high number uptime number would be the oft quoted “fi ve nines.” This is an actual uptime
of 99.999% over the course of a year. That means your SQL Server would need a total down-
time not exceeding 5.26 minutes. Only having downtime of fi ve minutes in a year is a huge
challenge. Frequently, larger servers with a lot of memory can take that amount of time
just to reboot once. If you had regular patching that required reboots, there is no way to
achieve that number. This is where clusters can assist in greatly reducing that downtime.
In a simple cluster you may have only two physical servers (nodes) that host a single-
clustered SQL Server 2012 instance. This instance has the facility to freely move between
the two nodes and be available on either one. (An instance may only be up and running on
a single node within a cluster at any given time.) This provides you with a level of redun-
dancy and fault tolerance from a hardware perspective that you would not have otherwise.
You may think of a cluster as providing you with a hot-standby physical server that you
can go to if another one goes down. As a bonus with clusters, you get automated failover
and invisible client redirection (with no special options required within application con-
fi guration strings).
With the Enterprise Edition of SQL Server 2012, you can have as many as 50 instances run-
ning on up to 16 nodes. You can only deploy 50 instances on a cluster when installing to
SMB shares, otherwise you will run into a 25 instance limit (one instance per available
drive letter in Windows).
The same clustered instance limit also applies to the Business Intelligence and Standard
Editions of SQL Server 2012; however, you are limited to only two node failover clusters.
With clustering at this level, you still have a single point of failure in your disk infrastructure because it is a shared
resource. Multisite geographically diverse clusters can be built, but they generally require the use of specialized SAN
replication techniques and third-party vendor tools.
Scalability is provided when you have data on multiple individual SQL Server 2012
instances. In this situation you may have an application that uses internal logic to write
data to a particular server and then have some kind of data replication techniques to
ensure that the data is pushed out to the other nodes. Alternatively, you could have a farm
c29.indd 746c29.indd 746 7/31/2012 9:51:58 AM7/31/2012 9:51:58 AM
http://www.it-ebooks.info