2
0
mirror of https://github.com/DistSysCorp/ddia.git synced 2025-04-02 07:30:46 +08:00

typo: ch03.md

This commit is contained in:
Cattle_Horse 2025-02-23 16:31:24 +08:00 committed by GitHub
parent 92390fc816
commit 7e4e24ac2c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -97,7 +97,7 @@ $ db_get 42
4. **记录写坏、少写**。系统任何时候都有可能宕机,由此会造成记录写坏、少写。为了识别错误记录,我们需要增加一些校验字段,以识别并跳过这种数据。为了跳过写了部分的数据,还要用一些特殊字符来标识记录间的边界。
5. **并发控制**。由于只有一个活动追加文件因此写只有一个天然并发度。但其他的文件都是不可变的compact 时会读取然后生成新的),因此读取和紧缩可以并发执行。
乍一看,基于日志的存储结构存在不少浪费:需要以追加进行更新和删除。但日志结构有几个原地更新结构无法做的优点:
乍一看,基于日志的存储结构存在不少浪费:需要以追加进行更新和删除。但日志结构有几个原地更新结构无法做的优点:
1. **以顺序写代替随机写**。对于磁盘和 SSD顺序写都要比随机写快几个数量级。
2. **简易的并发控制**。由于大部分的文件都是**不可变immutable** 的,因此更容易做并发读取和紧缩。也不用担心原地更新会造成新老数据交替。