Skip to content

Commit d9d1281

Browse files
authored
fix(book): typo (#117)
Signed-off-by: Khanh Duong <dqkqdlot@gmail.com>
1 parent 26103ce commit d9d1281

File tree

2 files changed

+2
-2
lines changed

2 files changed

+2
-2
lines changed

mini-lsm-book/src/week2-03-tiered.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,7 @@ There will be fewer 1-SST tiers and the compaction algorithm will maintain the t
226226

227227
### Task 1.3: Reduce Sorted Runs
228228

229-
If none of the previous triggers produce compaction tasks, we will do a compaction to reduce the number of tiers. We will simply take the all tiers into one tier (subject by max_merge_tiers), so that we do a major compaction that incldues all SST files.
229+
If none of the previous triggers produce compaction tasks, we will do a compaction to reduce the number of tiers. We will simply take the all tiers into one tier (subject by max_merge_tiers), so that we do a major compaction that includes all SST files.
230230

231231
With this compaction trigger enabled, you will see:
232232

mini-lsm-book/src/week3-overview.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ The key of MVCC is to store and access multiple versions of a key in the storage
88

99
In previous parts, we assumed that newer keys are in the upper level of the LSM tree, and older keys are in the lower level of the LSM tree. During compaction, we only keep the latest version of a key if multiple versions are found in multiple levels, and the compaction process will ensure that newer keys will be kept on the upper level by only merging adjacent levels/tiers. In the MVCC implementation, the key with a larger timestamp is the newest key. During compaction, we can only remove the key if no user is accessing an older version of the database. Though not keeping the latest version of key in the upper level may still yield a correct result for the MVCC LSM implementation, in our tutorial, we choose to keep the invariant, and if there are multiple versions of a key, a later version will always appear in a upper level.
1010

11-
Generally, there are two ways of utilizing a storage engine with MVCC support. If the user uses the engine as a standalone component and do not want to manually assign the timestamps of the keys, they will use transaction APIs to store and retrieve data from the storage engine. Timestamps are transparent to the users. The other way is to integrate the storage engine into the system, where the user manages the timestamps by themselves. To compare these two approaches, we can look at the APIs they provide. We use the terminologies of BadgerDB to describe these two usages: the one the hides the timestamp is *un-managed mode*, and the one that gives the user full control is *managed mode*.
11+
Generally, there are two ways of utilizing a storage engine with MVCC support. If the user uses the engine as a standalone component and do not want to manually assign the timestamps of the keys, they will use transaction APIs to store and retrieve data from the storage engine. Timestamps are transparent to the users. The other way is to integrate the storage engine into the system, where the user manages the timestamps by themselves. To compare these two approaches, we can look at the APIs they provide. We use the terminologies of BadgerDB to describe these two usages: the one that hides the timestamp is *un-managed mode*, and the one that gives the user full control is *managed mode*.
1212

1313
**Managed Mode APIs**
1414
```

0 commit comments

Comments
 (0)