快照是数据存储的某一时刻的状态记录;备份则是数据存储的某一个时刻的副本。这是两种完全不同的概念。
快照和云硬盘备份均是重要的数据容灾手段,两者存储方案不同。
快照数据与云硬盘数据存储在一起,可以支持快速备份和恢复。
备份数据则存储在对象存储(OBS)中,可以实现在云硬盘存储损坏情况下的数据恢复。
快照当前不支持设置自动创建。备份支持设置自动创建,您可以指定备份策略,系统会根据策略自动对云硬盘进行数据备份。
存储快照的实现原理
目前,快照的实现方式均由各个厂商自行决定,但主要技术分为2类,一种是写时拷贝COW(Copy On Write),另一种,是写重定向ROW(Redirect On Write)。
写时拷贝COW(Copy-On-Write),也称为写前拷贝。
创建快照以后,如果源卷的数据发生了变化,那么快照系统会首先将原始数据拷贝到快照卷上对应的数据块中,然后再对源卷进行改写。
快照与备份是两个不同的概念.先来看快照.
快照,其本质类似于数据库的照片,也就是在某个特定时间点(创建快照的时间点)给数据库拍个照放在那儿.但是这个照片是一个新的数据库,可以应用SQL语句.
快照数据库里的数据是不变的.创建快照后,系统会对原数据库的所有数据页做个标识,如果数据页在创建快照后被修改,会复制一个数据页出来,没有修改的数据页则不会有快照(原数据库和快照数据库共用该数据页).
从这样来看,快照存在的时间越长,对系统的压力会越大(要维护的变化数据页太多).
一般来说,快照用在数据库的镜像机上,因为镜像机上的数据库永远是Restoring状态,可以在某个特定的时间点生成一个快照,这样就可以在镜像机上提供一个可访问的数据库,用来为数据仓库提供数据源比较合适.
再来看备份.
备份,其本质是一个副本.相当于在某个时间点把数据库里的所有对象内容都COPY一份,放到一个特定的文件里(备份文件,一般是.bak).
这个文件不是一个数据库,不能直接应用SQL,必须先通过还原的方式还原到一个数据库(可以是和原数据库名称一致,也可以是一个新的数据库),之后才能访问里面的数据.
因为备份的结果是文件,这个文件可以被COPY走,或者写入磁带(放到银行里),从而实现离线容灾.
此外,备份是个很复杂的概念,还涉及到数据库的恢复模型、日志处理等很复杂的东西,需要自己先系统学习下备份还原的相关概念。
快照是数据存储的某一时刻的状态记录。
备份是数据存储的某一时刻的副本。
一、相同之处:都可以用于储存。
二、不同之处:
1、数据库存不同
备份,本质上是一个副本。这等效于COPY在某个时间点将数据库中所有内容的副本放入特定文件(备份文件,通常是.bak)中。
快照基本上类似于数据库的照片,即在特定时间点(创建快照的时间点)拍摄的数据库照片。但是这张照片是可以应用于SQL语句的新数据库。
2、访问方式不同
快照数据库中的数据保持不变。创建快照后,将标识原始数据库的所有数据页。如果在创建快照后修改了数据页面,则将复制数据页,并复制未修改的数据页,将没有快照(原始数据库和快照数据库共享数据页)。
该文件不是数据库,不能直接应用SQL。必须先通过还原(可以与原始数据库名称或新数据库相同)还原到数据库,然后才能访问其中的数据。
3、状态不同
备份的结果是一个文件,可以将其复制或写入磁带(银行中)以进行脱机很难恢复。由于镜像服务器上的数据库始终处于“还原”状态,因此可以在特定的时间点生成快照,以便可以在镜像服务器上提供可访问的数据库,从而为数据仓库提供数据源。
参考资料来源:
百度百科-快照
百度百科-备份
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)