基于数据库的快照
在数据库中,快照动作被称为“snapshot isolation(快照隔离)”。像Oracle和PostgreSQL这样的数据库需要做快照隔离以确保所有的交易命令序列化,就好像被一个个隔开一样,然后再逐个执行。其他的一些数据库也支持快照隔离,但并不要求将交易序列化。在一般情况下,数据库备份工具会利用快照隔离的功能,用快照来恢复崩溃(出现一致性问题)的数据表。
针对数据库内部数据和基于该数据库的相关应用,使用数据库自带的快照比较有效。
相反,数据库快照的重要缺欠就是覆盖的范围非常有限,其作用仅限于特定的数据库内部和数据库相关的应用,无法管理同在一台服务器上的文件系统、文件类应用或其他数据库,更不用说管理到其他的服务器了。有时候我们不得不通过其他层次的快照技术来解决数据库之外的数据保护问题,这样,操作和管理将变得有些复杂。
不同类型的快照及工作原理
通常,我们会提到6种类型的快照技术:
1、Copy-on-write 复制写
2、Redirect-on-write 重定向写
3、Clone or split mirror 克隆或镜像
4、Copy-on-write with background copy后台拷贝的复制写
5、Incremental 增量快照
6、Continuous data protection 持续数据保护