From 31d13787724e7423c5e8592aa12926eaca7836fe Mon Sep 17 00:00:00 2001 From: Jack Yang Date: Fri, 22 Aug 2025 14:48:35 +0800 Subject: [PATCH] =?UTF-8?q?Update=20ch8.md=EF=BC=8C=E7=94=B5=E6=BA=90?= =?UTF-8?q?=E5=A4=B1=E8=B4=A5=E6=94=B9=E4=B8=BA=E7=94=B5=E6=BA=90=E5=A4=B1?= =?UTF-8?q?=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- content/zh/ch8.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/zh/ch8.md b/content/zh/ch8.md index 51769ea..61f6a8c 100644 --- a/content/zh/ch8.md +++ b/content/zh/ch8.md @@ -163,7 +163,7 @@ SELECT COUNT(*) FROM emails WHERE recipient_id = 2 AND unread_flag = true 当单个对象被更改时,原子性和隔离性也适用。例如,假设你正在向数据库写入 20 KB 的 JSON 文档: * 如果在发送了前 10 KB 后网络连接中断,数据库是否存储了无法解析的 10 KB JSON 片段? -* 如果数据库正在覆盖磁盘上的先前值的过程中电源失败,你是否最终会将新旧值拼接在一起? +* 如果数据库正在覆盖磁盘上的先前值的过程中电源失效,你是否最终会将新旧值拼接在一起? * 如果另一个客户端在写入过程中读取该文档,它会看到部分更新的值吗? 这些问题会令人非常困惑,因此存储引擎几乎普遍的目标是在一个节点上的单个对象(如键值对)上提供原子性和隔离性。原子性可以使用日志实现崩溃恢复(参见["使 B 树可靠"](/ch4#sec_storage_btree_wal)),隔离性可以使用每个对象上的锁来实现(一次只允许一个线程访问对象)。