2K+ 次浏览
冲突可串行化以与某些串行执行相同的方式对任何冲突操作进行排序。如果一对操作对同一数据项进行操作,并且其中一个操作是写操作,则称它们发生冲突。这意味着,Readi(x) readj(x) - 非冲突读-读操作;Readi(x) writej(x) - 冲突读-写操作;Writei(x) readj(x) - 冲突写-读操作;Writei(x) writej(x) - 冲突写-写操作。其中,I 和 j 表示两个不同的事务 Ti 和 Tj。优先级图现在考虑用于测试冲突可串行化的优先级图。它用于检查冲突可串行化。优先级图步骤对于每个事务 T,在…阅读更多
373 次浏览
可串行化有两种类型,如下所示:视图可串行化如果某个调度与其某个串行调度视图等价,则该调度是视图可串行化的。它遵循的规则如下:T1 读取 A 的初始值,然后 T2 也读取 A 的初始值;T1 读取 T2 写入的值,然后 T2 也读取 T1 写入的值;T1 写入最终值,然后 T2 的写操作也是最终值。冲突可串行化它以与某些串行执行相同的方式对任何冲突操作进行排序。一对操作…阅读更多
8K+ 次浏览
不可串行化调度的特点如下:事务可能一致也可能不一致;事务可能可恢复也可能不可恢复。因此,现在让我们讨论可恢复调度。我们都知道可恢复和不可恢复是非串行化技术,不可恢复调度如果一个事务从一个未提交的事务中执行脏读操作,并在读取该值的事务之前提交,则此类调度称为不可恢复调度。示例让我们考虑如下所示的两个事务调度:T1T2Read(A)Write(A)-Read(A) ///脏读-Write(A)-Commit-Rollback上述调度由于以下原因是不可恢复的:事务 T2…阅读更多
11K+ 次浏览
当许多事务同时执行时,我们称它们为并发事务。并发是为了提高时间效率。如果许多事务试图访问相同的数据,则会出现不一致性。需要并发控制来维护数据的一致性。为了并发运行事务,我们交错它们的运行。每个事务都会获得一部分计算时间。事务中的问题这会导致以下问题:更新丢失问题。(WW冲突)脏读/临时更新。(WR冲突)不可重复读/不正确分析问题。(RW冲突)所有这些都是因为隔离性被破坏。让我们讨论脏读或…阅读更多
14K+ 次浏览
调度定义为事务的执行顺序。调度维护每个事务中操作的顺序。调度是事务操作的安排。调度可能包含一组事务。我们已经知道事务是一组操作。为了并发运行事务,我们以交错的方式安排或调度它们的操作。调度分为两类,如下所示:串行调度非串行调度调度的类别如下表所示:串行调度此调度中存在的事务是按顺序执行的,在 Ti 的指令之后…阅读更多
18K+ 次浏览
独立磁盘冗余阵列 (RAID) 将多个小型廉价磁盘驱动器组合成一个磁盘驱动器阵列,其性能优于单个大型昂贵驱动器 (SLED)。RAID 也称为廉价磁盘冗余阵列。在不同的磁盘上存储相同的数据会提高容错能力。阵列平均故障间隔时间 (MTBF) = 单个驱动器的 MTBF,除以阵列中驱动器的数量。由于这个原因,许多应用程序要求的驱动器阵列 MTBF 太低。RAID 类型下面解释了各种类型的 RAID…阅读更多
4K+ 次浏览
磁磁盘是用于支持对所需位置进行直接访问的辅助存储设备。磁磁盘中的部件下面解释了磁磁盘或硬盘中存在的不同部件。所有这些部件都有助于在硬盘中读取、写入和存储数据。磁盘块 - 磁盘和主内存之间的数据传输单位是块。磁盘块是连续的字节序列。磁道 - 块排列在称为磁道的同心环中。扇区 - 扇区是从磁盘读取或写入的最小信息单位:对于…阅读更多
29K+ 次浏览
影子分页是一种用于从故障中恢复的技术。我们都知道恢复意味着找回丢失的信息。它有助于在发生故障时维护数据库的一致性。影子分页的概念现在让我们逐步了解影子分页的概念:步骤 1 - 页面是内存的一个段。页表是页面的索引。每个表条目指向磁盘上的一个页面。步骤 2 - 在事务的生命周期中使用两个页表:当前页表和影子页表。影子…阅读更多
所有数据项都在事务结束时更新,最后,如果发现任何数据项与其中的值不一致,则回滚事务。在事务结束时检查冲突。事务执行期间不进行检查。所有检查一次完成,因此事务执行开销低。更新不会应用于事务结束。它们应用于事务空间中的本地副本。阶段乐观并发控制有三个阶段,如下所述:读取阶段读取各种数据项并将其存储在临时变量(本地副本)中。所有操作…阅读更多
15K+ 次浏览
时间戳排序协议确保事务在其冲突的读写操作中的可串行性。这是协议系统负责的,冲突的任务对应该根据事务的时间戳值执行。当较旧的事务尝试读取/写入较年轻的事务已经读取或写入的值时,就会发生冲突。只有当对该数据项的最后更新是由较旧的事务执行的时,读取或写入才会继续。否则,请求读取/写入的事务将重新启动并获得新的时间戳。这里不使用锁,因此没有死锁。事务的时间戳…阅读更多