Browse Source

update report

master
alexfisher 8 months ago
parent
commit
b719beb9d3
1 changed files with 2 additions and 2 deletions
  1. +2
    -2
      设计文档.md

+ 2
- 2
设计文档.md View File

@ -299,7 +299,7 @@ Value设计为:1字节标志位+Varint64文件ID+Varint64偏移量+Varint64长
- 有效的键值对会被重新 put 进入数据库(在此操作中自然的被插入到最新的ValueLog中),SSTable中无效的键值对则会在compaction过程中被自然的回收。 - 有效的键值对会被重新 put 进入数据库(在此操作中自然的被插入到最新的ValueLog中),SSTable中无效的键值对则会在compaction过程中被自然的回收。
- 如果一条记录异常(读文件失败,或者CRC校验失败),则跳过整个ValueLog(已经GC的部分不影响)。该ValueLog不会进入后面的**延迟删除**环节。 - 如果一条记录异常(读文件失败,或者CRC校验失败),则跳过整个ValueLog(已经GC的部分不影响)。该ValueLog不会进入后面的**延迟删除**环节。
4. **延迟清理GC完毕的ValueLog文件** 4. **延迟清理GC完毕的ValueLog文件**
- 对ValueLog扫描完毕后,**延迟删除(Trick2)**该ValueLog。
- 对ValueLog扫描完毕后,**延迟删除(Trick2)** 该ValueLog。
#### Trick1:验证元数据/重新Put的正确性保证 #### Trick1:验证元数据/重新Put的正确性保证
@ -430,7 +430,7 @@ void CheckValid(){
#### 实现3.Unordered Iterator #### 实现3.Unordered Iterator
**观察:**许多使用NoSQL scan功能的场景并不需求Iterator返回数据的有序性。并且使用Iterator时并不会用Prev和Next反复横跳,而是单向遍历。
**观察:** 许多使用NoSQL scan功能的场景并不需求Iterator返回数据的有序性。并且使用Iterator时并不会用Prev和Next反复横跳,而是单向遍历。
基于观察,我们提出了Unordered Iterator。即与原Iterator功能相同但不保证返回数据有序性的Iterator。 基于观察,我们提出了Unordered Iterator。即与原Iterator功能相同但不保证返回数据有序性的Iterator。

Loading…
Cancel
Save