两个产品面向的目标是不一样的;同步复制主要是保证RPO=O;而CDP是可以恢复到任一制定的时间(不同的CDP产品精度不一样);但是有可能不能保证RPO=0,个人感觉CDP更加看重的是备份功能,和快速恢复到任一时间点的功能。同步复制更加注重与数据的完整性和快速拉起业务的功能。
收起1.同步复制
无论是存储同步复制还是存储网关的同步复制都是需要等待另一端的IO响应返回的,或者数据库的基于日志的同步复制也需要对端数据库收到日志、运行并commit后返回,才能算是真正的同步复制,但是这样一来,跟不进行同步复制比,多少会造成影响。但是为了实现灾备的RPO=0,或者应用级双活,同步复制是必须的,无可争议的选择。那么既然是为了实现RPO=0的必然之选,那就需要考虑究竟同步复制对性能有多大的影响,读IO肯定是没任何影响,只是写操作可能会存在些许影响,然而像高端存储间的同步复制或者基于存储网关的同步复制,由于高端存储和存储网关都设置了较大的缓存,写站点A的存储/存储网关缓存后,直接返回主机,再接着写站点B的存储/存储网关缓存,这样一来对主机端来说,根本没有等待站点B的写IO返回,同步复制的这一切都在存储底层处理了,主机依旧像写单台存储一样。对于OLTP这样的业务来说,读写比例大致为7:3,而且通常这样的应用或者数据库存储数据不超过500G,在日益发展的今天的,存储缓存越做越大,加上闪存将成为趋势,完全可以做到同步复制无任何性能影响。而且同步复制也不是一定非得等到对端存储IO返回,才进行下一个写操作步骤,可以设置同步的写镜像延迟属性,出现几秒钟写延迟,直接自动不同步即可。
那么CDP呢,无非就是对备份的一种补充,弥补出现数据库逻辑错误,人为误删操作错误时,缩短备份前滚的时间,提高便捷性的工具而已。为了不因CDP捕获IO时做快照时,对主机IO性能造成影响,可以将CDP放到同步复制的B站点,对B站点进行快照,出现逻辑错误时,利用B站点CDP快照拉起即可。这样一种情况下,根据上面段落所讲,同步复制不但不是CDP的死穴,我想还有可能是救星。既实现了RPO的目标,又加强了逻辑性错误的防范。
2.异步复制异步
对于异步复制来说,运用的更多,更广泛,放到CDP技术运用来讲的话,异步复制不需要考虑对主机的性能影响,如果异步复制是两端存储差异1分钟,CDP是5分钟做一份快照的话,主存储出现逻辑错误时,可以回退到6分钟之前,但是对于数据库来讲,肯定要保证数据一致性,运用了异步复制技术,要考虑到异步复制时,对端存储的数据一致性校验是否存在,是否有异步复制一致性卷组,这里需要打个问号,如果不存在,异步复制的存储数据就无法使用;如果存在,那么还需要考虑CDP快照的一致性是否存在,能否同一主机的多个卷做一致性快照卷组,如果不能,即使每个卷都做了快照,数据库也不能启动。
基于以上所说,在日益发展的今天,无论是同步复制也好,异步复制也罢,都不是CDP的死穴,复制时的一致性组校验和是否支持CDP快照卷组才是真正需要考虑的东西,这几点同时具备时,CDP的明天会更好。
收起同步复制和连续数据保护,从技术术语上理解,没有必然关联。同步复制面向的是容灾场景,防范生产站点存储级别/站点级别的故障。对存储层的数据而言,可以获得很低的RPO。但这个RPO不能等同于应用的RPO,因为数据的逻辑关系在AP/DB层,能否恢复到哪个时间点,取决于DB的回滚日志能否成功apply到最后一个checkpoint点。对于AP来说,如果文件系统连fsck都通不过,或者fsck时间要以天计算,那RPO就更难衡量了。RTO则取决于机器性能、处理流程,30分钟到一天,都是可能的。这个原理对连续数据保护的产品也是相通的。
考虑到产品实现,对于CDP类产品,也支持同步模式,比如E公司的RP。但应用同步模式的CDP场景几乎没有,主要是CDP的IO截获模式,导致IO处理链条过多,性能下降厉害导致的。如果一个普通存储的同步复制导致性能下降20%是可以接受的,那么下降到60%或更高,就难以接受。
对于异步复制模式,复杂的IO处理逻辑都在存储控制器内完成,对生产的性能影响比同步要小,因此就变得可以接受,那么见到适用的场景也就不奇怪了。现在吸引客户采用的特性主要是CDP类产品在传输异步复制数据时,只传输压缩后的数据,对带宽要求低。如果普通存储能在异步复制上做到很高的压缩比,或者只传送快照的差量数据,那么CDP的异步模式也没优势,最终只会退回到传统的连续快照保护能力上。
同步复制和连续数据保护产品CDP是两个类型的产品,同步复制保证是业务的连续性即RPO=0,但是对复制的内容有效性和可用性是无法保障的,以及在数据恢复方面也是有限的
CDP同样也是保障业务的连续性,CDP不是同步复制,CDP是对需要保护的数据进行实时保护,这个实时是可以定制和个性化的,并不是完全的同步的,而且CDP在数据实时保护的基础上,还可以对保护的数据建立快照等安全保护措施,对数据的有效性和可用性进行保障
收起阁下描述的同步复制指的是类似:IBM PPRC,HDS True copy?而“连续数据保护产品”指的是CDP产品?
如果是的话这两者之间并不一定要处于尴尬地位。某些时候可以做到互补互足,各展所长,一套完美的体系架构。
这里有篇2012年的文章可借鉴:http://beautifulsound.blog.51cto.com/2055843/1026676
收起同步复制 和 连续数据保护产品 是两个类型的产品。同步复制 看重的是业务的连续性以及灾难后快速回复能力。 连续保护产品 看重的是业务数据的保护,是往后看的,强调的是数据的可追溯。
收起1 关于同步和异步的问题。
我想无论是数据库的复制技术还是存储的镜像复制技术等,关键问题点是在于同步会绝对等待数据库重做IO或者是存储镜像IO的返回,才能执行下一个IO。这个会严重影响数据库的性能。尤其是在集群节点通讯环境不是非常理想情况下。而异步复制的话不会做这些绝对性的等待,对性能产生的影响不会太大,这是大家广泛接受异步复制的前提条件。
2 关于数据复制和连续性保护的问题。
复制是要保证数据容灾可用性,也就是说尽量保证一个数据点发生物理故障的时候,另外一个数据点能尽可能恢复业务。但是这两个数据点会尽可能保证一致。但是如果是人为对数据的误操作,这个完全没有保护能力的。而类似于数据库的闪回,或者是存储设备类似的功能都是以日志时间搓为基准的恢复机制。从根本上算是一种备份。当我们发现有人为数据误操作的时候,可以恢复到某一个正确时间点。但是这个是以日志存在为前提条件的。
收起