principlesqlMinor
Availabilty Groups vs. Log Shipping
Viewed 0 times
groupsavailabiltyshippinglog
Problem
Assuming that an organization has everything needed to use Availability Groups successfully, and that they have been using Availability Groups successfully for a few years, are there any reasons why log shipping would be a better DR solution? It seems that people are still putting in log shipping just because it can meet the RPO and RTO. But if it doesn't cost anything extra to use an AG instead, and the DBA staff has experience with AGs, why would log shipping be better?
The only thing I can think of is that the built-in delay of log shipping allows one to recover quickly in the case that someone forgot to put a WHERE clause on an UPDATE or DELETE statement--if it's caught in time. Unlikely, and not something we're concerned about.
My general experience is that log shipping requires more intervention and tweaking as the database load increases, is more difficult to fail over, and is generally a bit of a Rube Goldberg machine (albeit a quite successful specimen of that class of machine).
The only thing I can think of is that the built-in delay of log shipping allows one to recover quickly in the case that someone forgot to put a WHERE clause on an UPDATE or DELETE statement--if it's caught in time. Unlikely, and not something we're concerned about.
My general experience is that log shipping requires more intervention and tweaking as the database load increases, is more difficult to fail over, and is generally a bit of a Rube Goldberg machine (albeit a quite successful specimen of that class of machine).
Solution
A few benefits come to mind:
-
Log shipping is simpler to set up (or re-initialize), as it doesn't require WSFC and some of the other AG requirements. I'm not sure what intervention and tweaking you are talking about, though I will agree that there is no automatic failover mechanism. I disagree with the Rube Goldberg assessment - it's a bit of repetitive restore statement logic that piggybacks off of log backups you're already taking (right?), it's really not that complex at all. I think the fact that there's a wizard leads people to believe there's a bunch of magic behind the scenes, but take a look at the output of that wizard and tell me what's complex about it. :-)
-
You can ship logs to as many secondaries as you like (and again these can be instances anywhere, with or without Windows clustering, in any domain or not in a domain at all, etc). And, as you mentioned, on whatever delay makes sense.
-
None of the overhead on the primary caused by hardening logs or facilitating other activity on the secondaries. Since you're taking log backups anyway (again, right?), log shipping causes no additional load on the primary at all. And read-only workloads against the log shipped copy don't impact the primary at all.
I blogged about using log shipping as a replacement for AGs, which might have some additional insight:
Of course there are a bunch of advantages AGs have over log shipping, but that wasn't really your question. :-)
-
Log shipping is simpler to set up (or re-initialize), as it doesn't require WSFC and some of the other AG requirements. I'm not sure what intervention and tweaking you are talking about, though I will agree that there is no automatic failover mechanism. I disagree with the Rube Goldberg assessment - it's a bit of repetitive restore statement logic that piggybacks off of log backups you're already taking (right?), it's really not that complex at all. I think the fact that there's a wizard leads people to believe there's a bunch of magic behind the scenes, but take a look at the output of that wizard and tell me what's complex about it. :-)
-
You can ship logs to as many secondaries as you like (and again these can be instances anywhere, with or without Windows clustering, in any domain or not in a domain at all, etc). And, as you mentioned, on whatever delay makes sense.
-
None of the overhead on the primary caused by hardening logs or facilitating other activity on the secondaries. Since you're taking log backups anyway (again, right?), log shipping causes no additional load on the primary at all. And read-only workloads against the log shipped copy don't impact the primary at all.
I blogged about using log shipping as a replacement for AGs, which might have some additional insight:
- Readable Secondaries on a Budget
Of course there are a bunch of advantages AGs have over log shipping, but that wasn't really your question. :-)
Context
StackExchange Database Administrators Q#206363, answer score: 4
Revisions (0)
No revisions yet.