Database software should meet the requirements of what is known as the ACID test. Why should database software carry out atomic

admin2013-12-19  41

问题 Database software should meet the requirements of what is known as the ACID test. Why should database software carry out atomic transactions, which is one requirement of the ACID test, when OLTP is used?

选项 A、So that the rules for database integrity can be established
B、So that the database performs transactions as a single unit without interruption
C、To ensure that rollbacks cannot take place
D、To prevent concurrent processes from interacting with each other

答案B

解析 B正确。在把数据库群集起来以提供高容错性和高性能时,便会用到联机事务处理(Online Transaction Processing,OLTP)。联机事务处理提供了监测问题并在问题出现时处理问题的机制。例如,如果某个进程停止运作,OLTP内的监控机制能够监测到这个问题并尝试重新启动这个进程。如果这个进程无法重新启动,那么正在进行的这个事务将被回滚,以确保没有数据遭到破坏,或者仅有部分事务发生了。OLTP(实时地)记录所发生的事务,在分布式环境中这通常意味着需要更新多个数据库。这种复杂性可能引入许多完整性威胁,因此,这个数据库软件应该具有被称为ACID测试的特点。
原子性(atomicity):把事务分成多个工作单元,并确保所有的修改要么全生效,要么全不生效。要么变更被提交,要么数据库被回滚。
一致性(consistency):事务必须遵循专为该数据库制定的完整性规则,确保不同数据库中的所有数据都是一致的。
隔离性(isolation):事务孤立地执行直至完成,这个过程不会与其他事务进行交互。修改的结果直到事务完成时才可用。
持久性(durability):一旦事务被证实在所有系统上都是精确的,那么它便会被提交,并且数据库不能被回滚。
“原子”这个术语指的是事务单元要么一起发生,要么一个都不执行,即“要么全有,要么全无”。这样能够保证如果一个操作失败,其他操作也不会进行(从而破坏数据库中的数据)。
A不正确。因为OLTP和ACID是执行而不是建立数据库安全策略中所规定的完整性规则。一致性(consistency)代表的是ACID中的字母C,它与完整性规则的执行和可执行性有关。具有一致性特点的数据库软件在执行事务时都遵循一个特定的完整性策略,从而确保不同数据库中的所有数据都是相同的。
C不正确。因为原子性把事务分成多个工作单元,并确保所有的修改要么全生效,要么全不生效。要么变更被提交,要么该数据库被回滚。这意味着如果有什么地方运行地不对,该数据库会返回(回滚)到它最初的状态。一旦事务正常运行之后,回滚便不可能发生,这就是ACID测试的持久性特点。这个问题专门针对的是原子事务方法,而不是持久性。
D不正确。因为原子事务无法解决正在执行数据库事务的进程的隔离问题,这是ACID测试的“隔离”组件。保证一个正在进行事务的进程不能被另一进程中断或者修改是至关重要的。这样是为了确保事务过程中被处理的数据的完整性、精确性和保密性。
转载请注明原文地址:https://kaotiyun.com/show/mAhZ777K
0

最新回复(0)