影子数据库

什么是数据库中的影子文件?

A shadow file is an additional copy of the primary database file(s). More than one shadow file may exist for any given database and these may be activated and de-activated at will using the gfix utility.

注:gfix utility是一种数据库系统工具。

 

怎么个应用?

在DBMS(Database Management System 数据库管理系统)中,事务管理器和恢复管理器提供对事务原子性和持久性实现的支持。影子数据库方案是一种提供对事务原子性和持久性实现的方案之一。

具体过程是:欲更新数据库的事务首先创建数据库的一个完整拷贝,所有的更新都在新建的拷贝上进行,而原始数据库(称为影子拷贝)则原封不动。如果任何时候DBMS中的事务不得不中止,则新拷贝简单地被删除,原始数据库不受任何影响;如果事务执行完成,则它的提交过程如下:首先操作系统确保数据库新拷贝上的所有页已被写到磁盘上(在Unix系统中,flush命令用来达到这个目的)。在刷新完成后,名为db-pointer的指针被修改为指向数据库的新拷贝,而影子拷贝则被删除。如图1所示。

 影子技术和镜像技术的区别

影子技术不同于传统的镜像技术,在整个数据恢复的过程中,影子技术是不需要创建镜像的,只是将读取过的区域在影子盘上建立相应的影子,下次读盘时将直接从影子盘上读取,减少了对源盘的读取次数,从而对读源盘起到了很好的保护。影子技术对源盘的读取范围也是非常灵活的,可以从任意的LBA值范围读取,这些都是创建镜像技术所无法比拟的。

 

1、问题的提出
  在DBMS中,事务管理器和恢复管理器提供对事务原子性和持久性实现的支持。这是一个非常复杂的过程,我们以一个简单但效率极低的方案为例,理解DBMS中实现事务原子性和持久性的原理。这个方案就是影子数据库(Shadow-Database)方案,它的前提条件是:
  - 某一时刻DBMS中只有一个活动事务;
  - 要处理的数据库只是磁盘上的一个文件;
  - 磁盘上有一个称为db-pointer的指针指向该文件。

2、影子数据库方案
  在影子数据库方案中,欲更新数据库的事务首先创建数据库的一个完整拷贝,所有的更新都在新建的拷贝上进行,而原始数据库(称为影子拷贝)则原封不动。如果任何时候DBMS中的事务不得不中止,则新拷贝简单地被删除,原始数据库不受任何影响;如果事务执行完成,则它的提交过程如下:首先操作系统确保数据库新拷贝上的所有页已被写到磁盘上(在Unix系统中,flush命令用来达到这个目的)。在刷新完成后,db-pointer指针被修改为指向数据库的新拷贝,而影子拷贝则被删除。
  如图1所示,在影子数据库方案中,只有当修改后的db-pointer指针写到磁盘上后,事务才算是提交了。因此无论是在db-pointer指针修改之前或之后发生故障,都能保证事务的原子性和持久性。现在问题的核心变成了db-pointer指针写操作的原子性!而磁盘系统提供扇区或块更新的原子性。

 

3、与文本编辑的比较
  整个文本编辑的过程也可以看成是一个事务,事务的更新操作就是读文件和写文件。开始编辑文本之前都要复制旧文件的一个副本,不存盘退出就相当于中止事务,存盘退出就相当于提交事务。提交的过程就相当于执行文件重命名命令,而文件重命名是文件系统上的原子操作。

4. While designing the business continuity plan (BCP) for an airline reservation system, the MOST appropriate method of data transfer/backup at an offsite location would be:

A. shadow file processing.

B. electronic vaulting. 电子保险箱,电子储藏室

C. hard-disk mirroring.

D. hot-site provisioning.

--- In shadow file processing, exact duplicates of the files are maintained at the same site or at a remote site. The two files are processed concurrently. This is used for critical data files, such as airline booking systems. Electronic vaulting electronically transmits data either to direct access storage, an optical disc or another storage medium. This is a method used by banks. Hard-disk mirroring provides redundancy in case the primary hard disk fails. All transactions and operations occur on two hard disks in the same server. A hot site is an alternate site ready to take over business operations within a few hours of any business interruption and is not a method for backing up data.

 

  在影子文件处理过程中,最初数据文件的复制文件保留在同一站点或者远程站点,这两种文件处理时保持一致性,这种方法用于重要数据文件,比如在线预约系统、订票系统。电子保险柜将数据电子地传输到直接存储设备、光盘或者其他存储媒体,这种方法常被银行使用。硬盘镜像是在硬盘失败时提供冗余,所有事务和操作在同一服务器两个硬盘上同时发生。热站。

 

  总之,影子数据库方案的致命缺陷是效率极低,一个事务的执行要求复制整个数据库,而且该方案不允许事务并发执行。但DBMS中其他高效的实现方案其原理与此相似!

  影子数据库方案的效率非常低,但是它提供了一个基本思路,要保存用于恢复的数据,就得在事务提交之前,在永久存储设备上保存在事务执行之前的所有数据。保留备份有两种方式,一种是全部备份,就像影子数据库一样;还有就是部分备份,只是对相关的数据进行备份。目前使用的方法一般都是后者,即部分备份。
 

 


 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值