【问题标题】:Could anyone explain why is Write-Ahead Log the use NO-FORCE?谁能解释为什么预写日志不使用强制?
【发布时间】:2016-12-08 05:46:57
【问题描述】:

我在网上查了一下,STEAL和FORCE的定义如下

FORCE 还是 NO-FORCE:事务的所有更新都应该在事务提交之前强制到磁盘吗?

另外,有人告诉我

一个事务在其所有日志记录都写入稳定存储之前不会被视为已提交

那么 WAL 与 FORCE 方法有何不同?我觉得在这两种情况下,都必须在提交事务时将更改刷新到磁盘......

【问题讨论】:

    标签: database logging wal crash-recovery


    【解决方案1】:

    使用 WAL,您可以连续写入日志。整个数据库中页面的更新可以异步写入日志条目。

    强制方法要求缓冲池中的所有脏页与提交操作同步刷新到磁盘。这是一项成本更高的操作,并且会限制吞吐量。

    基本权衡:WAL 崩溃后恢复时间更长,而强制吞吐量更低。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-11
      • 2013-04-16
      • 2020-06-17
      • 1970-01-01
      • 2012-07-13
      • 1970-01-01
      • 2017-03-25
      相关资源
      最近更新 更多