HA Decision - Mirroring or Log Shipping?

  • Documentation says that mirroring has little to no impact on the system. How true is this? I'm trying to decide between mirroring and log shipping for my HA option. My inclination has been towards log shipping as I can schedule when the shipping actually takes place (outside of my very heavy load process). But if mirroring (and it would probably be with safety OFF) is as non-demanding on the principal as the documentation states, that looks like a much better option.

  • I am inclined towards mirroring. It is so much easier to manage and if you do wish to have automatic failover, that is just so easy to get up and running. If your applications are using SNAC, they can automatically re-connect to the standby server without any intervention required.

    To do the same with log shipping requires a lot more effort to manage (day to day ... I keep hearing from people who somehow manag to get the logs out of sequence and have to start over). Failover is manual and unless you fiddle with DNS entries, requires connection strings to be updated to get to the standby database.

    I would suggest that you test your application to quantify what the performance overhead actually is. I would expect it to be fairly low.

  • I would add that you do need to make sure you have sufficient peak network bandwidth for mirroring. Also it must run using full recovery model.

  • You may want to also consider your RTO and RPO objectives, as each HA option has different advantages:

    1. Log shipping provides backup files as part of process, whereas database mirroring does not

    2. Log shipping support multiple secondaries per database, whereas database mirroring does not

    3. Log shipping allows better control in terms of when jobs run, whereas database mirroring does not.

    Overall, as mentioned earlier, databae mirroring is a better option, but your "big picture" and support requirements should dictate the strategy and tie into your Recovery Time and Recover Point objectives.

    Thanks,

    Phillip Cox

  • happycat59 (11/8/2007)


    I am inclined towards mirroring. It is so much easier to manage and if you do wish to have automatic failover, that is just so easy to get up and running. If your applications are using SNAC, they can automatically re-connect to the standby server without any intervention required.

    True - but let's temper that. If Pam intends on using it with Safety OFF, that's the "high performance" mirroring, and there's NO automatic failover in that scenario. So the failover process would be manual.

    High Availability Mode requires synchronous mirroring which CAN lead to perf. issues (since the transaction needs to complete on both servers to be committed.)

    I would STILL say that mirroring has the edge over log shipping because of the fact that it's spread out, and it's more current than log ships. You'd still need the logs backed up, but then again - if the mirroring is working - you might not need the log backups should a failure occur.

    ----------------------------------------------------------------------------------
    Your lack of planning does not constitute an emergency on my part...unless you're my manager...or a director and above...or a really loud-spoken end-user..All right - what was my emergency again?

  • Thanks guys for your feedback.

    Your questions are exactly the questions I have. This is an OLAP/DW system with 4 ETL updates / day so the transactions come in bursts.

    I'm still leaning towards the mirroring but they may be more inclined towards the more discrete, controllable but larger bursts of traffic that log shipping would have.

  • Refer the below link, this may help you.

    http://www.sql-articles.com/articles/diffdbmrr.htm

Viewing 7 posts - 1 through 6 (of 6 total)

You must be logged in to reply to this topic. Login to reply