# RC VS RVC 觀察筆記 以下代號 - RC: ReplicatedCollapsingMergeTree - RVC: ReplicatedVersionedCollapsingMergeTree ## Collapsing 的機制 - 只要 sign 欄位 +1,-1 兩列的其他欄位都一樣,就會刪除 - ”其他欄位都一樣”是指除了sign欄位,其他的都要一樣,一個不同就沒辦法 Collapsin ## Collapsing 的坑 sign 欄位 +1,-1,+1 你以為會刪掉後新增 但事實上是,只要其他的欄位都一樣,之後永遠都新增不進去 所以以下情境: +1,-1,+1,+1,+1… 不管插入幾次,這一列都不會出現 ## RVC的適用情境 ``` 大原則1:刪除的列只能在現在表裏找,不要用外來的 大原則2:version欄位可視為 batch insert version ``` 原則1是說,一般情況下你很難保證你要刪的資料會不會多於或少於資料庫現有的。所以刪除還是拿原表的去刪比較合理。 在原則2的情況下,你可以確保每次寫入都不會跟上一次寫入的一,避掉抗。 ## RC VS RVC 的差別 這兩個的差別只在 ### RC CASE1: sign 欄位 +1,-1 => 刪掉 CASE2: sign 欄位 -1,+1 => 刪不掉 結論:順序很重要,+1一定要先出現 ## RVC CASE1: sign 欄位 +1,-1 => 刪掉 CASE2: sign 欄位 -1,+1 => 刪掉 結論:順序不重要,都可以成功刪除
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up