HBase是否在其Memstore中執行更新。比方說,如果同一個rowkey有多個版本的值,HBase memstore會刪除舊值並將其替換爲新值?HBase中的Memstore如何更新記錄?
0
A
回答
0
memstore保存更新,就像HFile一樣,但它只會根據表的配置寫入磁盤(例如,如果您已將表設置爲僅保存一行版本,則只寫入最新的行到磁盤)。
還有的的memstore如何工作here
1
沒有一個很好的解釋,也不會刪除&取代現有的記錄。它會將新的鍵值(記錄數據)附加到memstore。 第一個原因:它可能被配置爲保留一個以上版本的單元格(列)值。但即使memstore中單元格的版本比配置爲保留更多版本,它仍會追加記錄而不是覆蓋它(或刪除最舊的)。
但是,請注意,在更新版本的HBase(0.92+)中,存在一個對memstore刷新過程的優化:它可能跳過(不寫入HFiles)太舊的單元版本(即不應該包含在最大數量的版本中)。更多關於這裏:HBASE-4241。 雖然它看起來像「覆蓋」Memstore中的現有值(至少從外部的角度來看),但它並不完全是這樣做的。這種優化僅在memstore刷新時發生,因此不會影響memstore大小:寫入新值時,它們始終附加。即這種優化不會導致更少發生刷新。
這裏有一個與優化有關的正在進行的工作,所以請留意下一個版本。
是的,正如Richard提到的,您可以瞭解更多關於配置HBase Memstore here的信息。
相關問題
- 1. 當HBase仍在memstore中時,它如何刪除一行?
- 2. 如何更新telerik gridview中的記錄?
- 3. 如何更新mongodb中的記錄?
- 4. 如何更新ror中的記錄?
- 5. 如何更新記錄
- 6. 如何更新表中的記錄與當前記錄的ID
- 7. 如何在MySQL中保留記錄更新的歷史記錄?
- 8. 如何顯示多條記錄的最新更新記錄
- 9. Hbase如何處理重複記錄?
- 10. 如何在PHP中更新記錄,sqli
- 11. 當Memstore在Hbase中崩潰時會發生什麼?
- 12. xml中的更新記錄
- 13. ElasticSearch中的更新記錄
- 14. db中的更新記錄
- 15. 更新記錄
- 16. 更新記錄
- 17. Rails如何更新所有記錄的列爲零的記錄?
- 18. Android的SQLite的 - 如何更新記錄ID號刪除記錄
- 19. 更新記錄,如果失敗,插入記錄,然後更新
- 20. 如何在成功更新grails中的記錄後插入新記錄
- 21. 如何通過postgresql上的新記錄更改舊記錄?
- 22. HBase Shell日誌記錄
- 23. 如何根據Hbase表中的條件檢索記錄?
- 24. MYSQL表2中的表1更新記錄插入新記錄
- 25. 在CakePHP中更新記錄
- 26. CRM中更改記錄時的更新記錄
- 27. 更新查詢以更新'其他記錄之間的記錄?
- 28. 如何從Django表更新db記錄
- 29. Ember數據 - 如何更新記錄
- 30. 如何儘快更新所有記錄?
這是很好的解釋!順便說一句,如你所說,habse源代碼的哪一部分正在維護memstore?請指出,如果可能的話。 – Richard 2012-07-25 19:56:06
我想你要找的是org.apache.hadoop.hbase.regionserver.MemStore – 2012-07-25 21:23:29