Disaster Recovery, High Availability, and Continuous Availability - What's the Difference?

Last month I posted a video that gave a brief overview of how data replication is used for continuous availability. I then got ask why I used the term continuous availability instead of high availability or disaster recovery. "What's the difference?" Well, while these solutions have a lot of overlap and can usually
be built from some of the same components, they can have different objectives. Different objects can mean different implementations. So, I'm going to use this post to define how I use these terms when talking about replication and why I chose continuous availability.
Disaster Recovery (DR)
The goal of disaster recovery is to restore the business after an unplanned outage. It does this by providing a standby of a primary database and keeping it current through replication of changes from the primary. Changes can be replicated synchronously
or asynchronously. If done asynchronously and an outage happens, changes may be lost (if the primary is down permanently) or stranded (if the primary is down temporarily). The amount of change data lost or stranded is dependent on the latency of replicated
changes. If done synchronously, no committed changes are lost or stranded in an outage.
This leads to two other terms - recovery point objective and recovery time objective.
Recovery point objective (RPO) is an industry term used to describe the amount of changed data a business is willing to lose in an outage. You'll see the term "RPO=0" used when a company says its business cannot afford to lose any data
in an outage. "RPO>0" says the company can go back to some prior point in time (i.e., strand or lose a defined time's worth of data) to restart its business.
When a company is willing to accept a loss of data (RPO>0), they are generally driven by a desire to limit recovery time to an acceptable level.This is called the recovery time objective (RTO). With most disaster recovery solutions, there's
a tradeoff between RPO and RTO. For example, if you want no data loss (RPO=0), some solutions require time to complete recovery before coming back on-line (RTO>0).
However, an important point here is that the definition of disaster recovery does not include a statement about the availability of the data either during a disaster or during recovery. That's where the terms high and continuous availability come in.
High Availability (HA)
The goals of high availability (HA) are to (1) make data available during defined periods and (2) meet availability objectives during those periods. HA solutions account for both planned and unplanned outages, but allow for something less
than 100% availability. To meet objectives, an HA solution typically includes a window for planned outages such as maintenance.
A company might have HA objectives like be one of the following which are usually formalized in a service level agreement (SLA):
  • Make data available 99.9% of the time for the year.
  • Data can be unavailable for no more than 10 hours a year during defined business hours.
So what's the difference between disaster recovery and HA? Key points are:
  • As stated previously,disaster recovery focuses more on unplanned outages and maximizing recovery of data, whileHA focuses more on
    making data available and accounting for both planned and unplanned outages
    .
  • Building on the previous point - HA doesn't offer a guarantee that no data is lost in a disaster.
  • Disaster recovery solutions tend to be more of a single-site solution, with primary
    and standby being relatively close to one another, while HA is often used between sites that are separated by geographic distances spanning time zones.
The last two point are why disaster recovery and HA are used together - two sites can each have a disaster recovery solution for their local copy of a database and then
use an HA solution to keep data highly available between sites.
However, many global businesses now need systems and data available without interruption. In other words, they want 100% availability. That's where continuous availability
comes in.
Continuous Availability
The goal of continuous availability is to ensure data is always available for business needs. In other words,the goal is 100% data availability.
Planned and unplanned outages of systems or software should have no effect on availability. This is usually achieved by using replication to maintain multiple active copies of the data. Like HA, the solution can also be enhanced with a disaster recovery component
for unplanned outages.
To be clear, an 'active' solution means that any copy of the data could be read or modified. It also means that at least one site is always fully active and ready to
accept workload.

Most continuous availability solutions today are for two databases and allow for workload balancing across sites. The terms Active-Active
Databases
and Active-Active or Dual Warehousing are used for the most common variations. However, there
is also a trend towards availability solutions that involve three or more sites.

Conclusion
So, why did I use continuous availability with last month's video? It's because most modern data replication technologies are being designed to be either a solution
or a part of solutions that target 100% availability of data. Naturally, if you have a different view, feel free to use the comment section below :)



原文: http://www.channeldb2.com/profiles/blogs/disaster-recovery-high

Disaster Recovery, High Availability, and Continuous Availability - What's the Difference?的更多相关文章

  1. High Availability (HA) 和 Disaster Recovery (DR) 的区别

    High availability 和disaster recovery不是一回事. 尽管在规划和解决方案上有重叠的部分, 它们俩都是business contiunity的子集. HA的目的是在主数 ...

  2. [SQL in Azure] High Availability and Disaster Recovery for SQL Server in Azure Virtual Machines

    http://msdn.microsoft.com/en-us/library/azure/jj870962.aspx Microsoft Azure virtual machines (VMs) w ...

  3. 云区域(region),可用区(AZ),跨区域数据复制(Cross-region replication)与灾备(Disaster Recovery)(部分1)

    本文分两部分:部分1 和 部分2.部分1 介绍 AWS,部分2 介绍阿里云和OpenStack云. 1. AWS 1.1 AWS 地理组件概况 AWS 提供三种地理性组件: Regions:区域,即A ...

  4. 数据备份与恢复 半持久化 全持久化 fork aof rdb Backing up Disaster recovery 备份 容灾

    Redis数据备份与恢复 - 流年晕开时光 - 博客园 https://www.cnblogs.com/deny/p/11531355.html Redis数据备份与恢复 Redis所有数据都是保存在 ...

  5. Performing a full database disaster recovery with RMAN

    Performing a full database disaster recovery with RMAN1. Make the RMAN backup set pieces available.2 ...

  6. Disaster recovery best practices for Symantec Endpoint Protection 12.1

    https://support.symantec.com/en_US/article.TECH160736.html

  7. SharePoint 2013 Disaster Recovery——迁移内容数据库

    安装和配置SharePoint Farm时,一定要注意将内容数据库不要放在C盘,除非你的C盘能足够承受起日益增长的数据.由于在安装SQL SERVER中没有注意,我将数据库存放在默认的 C:\Prog ...

  8. Oracle Standby Database 实现方案

    Oracle Standby Database 实现方案  From: http://wanow.blog.hexun.com/4672755_d.html 字号:大 中 小 版本:V20060328 ...

  9. [SQL in Azure] Provisioning a SQL Server Virtual Machine on Azure

    http://azure.microsoft.com/en-us/documentation/articles/virtual-machines-provision-sql-server/ Provi ...

随机推荐

  1. iOS - OC NSTimer 定时器

    前言 @interface NSTimer : NSObject 作用 在指定的时间执行指定的任务. 每隔一段时间执行指定的任务. 1.定时器的创建 当定时器创建完(不用 scheduled 的,添加 ...

  2. iOS - Swift NSDate 时间

    前言 NSDate public class NSDate : NSObject, NSCopying, NSSecureCoding NSDate 用来表示公历的 GMT 时间(格林威治时间).是独 ...

  3. SAP接口编程 之 JCo3.0系列(03) : Table参数

    Table参数作为export parameter BAPI_COMPANYCODE_GETDETAIL是一个适合演示的函数,没有import paramter参数,调用后COMPANYCODE_GE ...

  4. [转载] 每个 Python 程序员都要知道的日志实践

    原文: http://python.jobbole.com/81666/ 在现实生活中,记录日志非常重要.银行转账时会有转账记录:飞机飞行过程中,会有黑盒子(飞行数据记录器)记录飞行过程中的一切.如果 ...

  5. 阻塞与非阻塞的IO网络读写

    看我之前的文章就知道,一般对于网络读的socket,都会加上O_NONBLOCK,非阻塞的选项. int setnonblocking(int fd) { int old_option = fcntl ...

  6. lx:这么空!什么叫假大空 xy:那我做给你看

    “如果我答应你,你回来了XY,最后没有在一起肯定会怪我:而且我现在没有想好以后会怎么样” 希望你可以看到我的努力!PS : 坚持以后每日至少一篇.编程是一门手艺,手艺人靠手艺养家! ---手艺人

  7. jquery height

    heigth -- 内容高度innerHeight -- 包含padding但不包含borderouterHeight -- 包含borderouterHeight(true) -- 包含margin ...

  8. 微信公共平台php用$GLOBALS["HTTP_RAW_POST_DATA"]收不到信息解决方法

    http://www.cnblogs.com/shendiao/archive/2013/04/24/3041450.html <?php /** * wechat php test */ // ...

  9. Linux技巧学习

    主要是收集一些Linux的技巧: 1.编写可靠shell脚本的八个建议 指定bash,推荐使用 /usr/bin/env bash 和 /bin/bash,不要使用/usr/bin/bash. set ...

  10. 栈 - 从零开始实现by C++

    参考链接:数据结构探险-栈篇 学了队列之后,栈就很简单了,换汤不换药.   栈 栈的模型 后进先出(电梯,进制转换,括号的匹配检测)   栈的基本元素 栈顶,栈底(一般很少用到),栈容量,栈长度 注意 ...