快照与备份的那点事儿

简单地说

快照记录的是数据在某一时刻的状态 >>> 就像在你咧嘴傻笑的时候……啪——有人按下了快门,就是一张你的照片
备份则存储的是数据在某一时刻的副本 >>> 即另外重新创建一个跟现在的你一毛一样的另一个你,你们俩都是有生命的个体

总的来说

快照需要真实的数据源时可用;
备份则与真实数据源是否可用无关。

人话版

{ 打个比方,有不恰当的地方欢迎指出 ^ ^ }
有一个人他并不认识你,当见到你的快照时,就像看到了一张你的照片,虽然能了解一部分你在照照片时的大致情况,但并不能获取自己想知道的关于你的全部信息,比如愿不愿意借给他钱……并且在仅有这张照片,却没办法联系到到你本人时,他是无法真的向你借钱的= =
但是当他见到一个你的备份时,他不光啥能都知道,并且可以立刻跟你借钱(抠鼻……)

实现原理

快照的实现方式主要分两种,下面分别简单介绍下各自的实现原理

COW

写前拷贝 Copy On Write
在这里插入图片描述
总结上图,COW方式在写数据时会先把数据源该位置的数据复制到快照中,之后在真正的在数据源的该位置写入新数据>>>即写了两次,并且最新存放在数据源,快照中存放是原始数据被重复更新的位置是否会发生覆盖?这点还未搞清楚,望大神指点 [抱拳抱拳~~~]

ROW

写时重定向 Redirect On Write
在这里插入图片描述
总结上图,ROW方式在写数据时会先通过映射地址找到快照中与数据源该位置相对应的位置,之后直接在快照中写入新数据>>>即写了一次,并且最新的数据存放在快照中,数据源始终存放原始数据

总结两图

COW方式在写入数据时,会拷贝两次,因此在进行大量写入操作时,性能不如ROW;ROW方式在读取数据时会先做判断,导致发生大量读取操作时,性能不如COW;而在删除时,COW方式由于新数据都存储在数据原本身,因此**只需要删除快照和映射表就可以了,而ROW方式的新数据存在快照中,因此删除时为了保证数据的完整性必须先向源数据进行拷贝,拷贝完成后方能删除。
^ ^ 欢迎大家批评指正~~~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AQin1012

求小鱼干呢~~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值