什么是数据库中的影子文件?
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中其他高效的实现方案其原理与此相似!
相关推荐
NYPL Sierra阴影数据集生成介绍 这是连接Sierra数据副本postgresql bib和item数据库表的sql_dumps的代码。 在此过程中,内部JSON字段被拆开并提取最相关的信息。 此外,还有大量的数据清理和合并,尤其是控制编号。 ...
"影子ACCESS数据库SQL指令练习器"是一款专为学习和实践ACCESS数据库中的SQL语言而设计的工具。在这款练习器中,你可以深入理解和熟练掌握SQL(结构化查询语言)的各种命令,这对于数据库管理、数据查询以及数据分析...
为了减轻对交易系统的压力,计划在外围建立影子数据库,数据中心将从这里获取数据并进行规范处理,确保其他应用系统不再直接从交易系统采集数据。这样可以保障交易系统的稳定性和效率。 数据中心还将为业务部门提供...
- **影子数据库**:用于压力测试的数据库副本。 - **实现原理** - **整体架构**:影子库的整体架构设计。 - **影子规则**:如何定义影子库的规则。 - **处理过程**:影子库的具体工作流程。 #### 十三...
- **核心概念**:介绍影子字段、生产数据库、影子数据库等概念。 - **可插拔架构**: - **背景**:为了提高系统的灵活性和可扩展性,采用了可插拔架构的设计思路。 - **挑战**:面对不断变化的需求,如何设计一个...
影子银行数据(2003-2019).rar
但是,如果安装完成后仍然无法看到Hibernate的影子,可以尝试删除Eclipse目录下的configuration文件夹中的org.eclipse.update文件夹,然后重新启动Eclipse。如果仍然不行,可以尝试在configuration文件夹中的config....
7. **数据库7章**:可能会涉及到数据库恢复技术,包括故障类型(事务故障、系统故障、介质故障)、日志记录、检查点机制,以及恢复策略如前滚/后滚、影子副本等。 8. **数据库8章**:分布式数据库和并行数据库系统...
检索的介绍以及使用、SQL语句的设计、影子数据库使用,存储过程
数据库项目设计数据库项目设计数据库项目设计数据库项目设计数据库项目设计数据库项目设计数据库项目设计数据库项目设计数据库项目设计数据库项目设计数据库项目设计数据库项目设计数据库项目设计数据库项目设计...
例如,前滚/后滚、检查点和影子副本等。 8. **数据库优化**:性能优化是数据库管理员的重要任务,这可能涉及到查询优化、索引设计、存储优化和数据库架构调整。 9. **分布式数据库**:随着云计算的发展,分布式...
例如,影子拷贝策略用于实现原子性和持久性,而两阶段锁协议则用于确保事务隔离。基于日志的延迟修改技术则在保证事务一致性的前提下,通过延迟写操作到事务提交后执行,简化故障恢复过程。 计算机网络方面,七层...
- **数据库恢复**:掌握事务日志的作用,理解几种常见的恢复策略,如前向恢复、后向恢复和影子副本法。 通过以上资源的系统学习和练习,考生可以有效提升对数据库系统原理的理解和应用能力,为顺利通过考试打下坚实...
- 讲述了各种恢复技术,如前滚/后滚、影子页和多版本并发控制在恢复中的作用。 这个压缩包为学习者提供了一个全面的数据库学习资源,不仅有理论知识,还有实践性的课后答案,有助于巩固所学,提升解决实际问题的...
源码包含了游戏逻辑、网络通信、数据库交互等关键部分,对于学习游戏编程、服务器端开发、客户端渲染等方面有着极高的参考价值。通过对源码的阅读和分析,开发者可以了解游戏运行的内部机制,甚至可以在此基础上进行...
、数据库基本对象的查看(库、表、主键、过程、函数、触发器、游标、视图等) 、数据库相关系统信息 、建表脚本 、表字段相关信息 、表内数据前100条 、存储过程脚本 、过程参数列表 、数据库基本操作(分离、...
Unixium Unixium库为Unix系统提供以下有用的功能: 访问基于Unix的系统的用户数据库,影子数据库和组数据库获取行和列的终端大小还有更多! 注意:该库仍在开发中,在未来几个月内,我们可能会进行各种重大更改,...
这种防护模式对于那些不希望频繁更新杀毒软件数据库或者想要避免杀毒软件对系统性能影响的用户来说,是一个很好的选择。 影子系统软件的使用并不复杂。用户只需按照安装向导完成安装,然后设定好要保护的系统分区,...
### 数据库基础知识要点详解 ...- **除运算**:从一个关系中去除另一个关系的影子。 以上内容涵盖了数据库基础知识中的核心概念和技术,通过对这些知识点的理解和掌握,可以为深入学习数据库技术打下坚实的基础。
2024数据库课程设计_客户信息管理系统2024数据库课程设计_客户信息管理系统2024数据库课程设计_客户信息管理系统2024数据库课程设计_客户信息管理系统2024数据库课程设计_客户信息管理系统2024数据库课程设计_客户...