目前,业界在物理备份主要需要面对两个主要技术问题:
一个是全量备份的 PIT 拷贝(Point-in-time Copy)问题,面对这一问题业界提出了五种技术方案,即 Copy with Lock、Copy with Log、Copy on Write、Copy on Redirect 和 Mirror Split。Copy with Lock 方案最为简单,就是加一把锁,比如拷贝MySQL 数据库,可以将其全部锁住,并将文件拷贝出来,这样拷贝出来的文件一定是一致的。所谓 Copy with Log 就是边拷贝数据边拷贝日志,之后将这段时间拷贝的日志进行回放,MySQL 使用 Xtrabackup,而 Oracle 使用 RMAN,也都是基于这种方案。而 SQLServer 数据库所依赖的 VSS 机制就是使用的 Copy on Write 方案,可以没有日志,而是在业务和存储层接口部分有一层约定来实现一致性拷贝。Mirror Split 方案主要用于专用设备。
第二个问题就是增量备份 CBT(Changed Block Tracking),在增量备份时需要发掘哪些数据块从上一次到这一次是被修改过的,这样的发掘能力对于不同的数据库而言,所使用的技术也是不一样的,比如 Oracle 使用 RMAN 和 SBT。Windows 使用VSS,而 MySQL 方面,官方的 Percona 的 XtraDB 提供了 CBT 功能,对于不是这样的MySQL,则必须要通过扫描方式将更改的数据块找出来,因此在使用 Xtrabackup 备份数据的时候开销很大,而阿里云 DBS 在这些方面做了大量的优化工作。
资料来源:《数据库:从趋势到实践》,链接:https://developer.aliyun.com/topic/download?id=1113
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。