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. HBase MemStore和垃圾回收
- 3. 当HBase仍在memstore中时,它如何删除一行?
- 4. Hbase memstore和内存是否一样?
- 5. 如何更新mongodb中的记录?
- 6. 如何更新表中的记录?
- 7. 如何更新Kohana 3.0中的记录
- 8. 如何更新telerik gridview中的记录?
- 9. 如何更新ror中的记录?
- 10. Codeigniter - 如何更新记录?
- 11. 如何更新记录?
- 12. 如何更新记录
- 13. 如何更新以前的记录而不更新Netezza中的最大记录
- 14. 如何更新表中的记录与当前记录的ID
- 15. 如何在MySQL中保留记录更新的历史记录?
- 16. 如何显示多条记录的最新更新记录
- 17. Hbase如何处理重复记录?
- 18. 我应该如何记录HBase模式?
- 19. 如何在php中更新记录?
- 20. 如何在PHP中更新记录,sqli
- 21. 如何在HBase中更新数据
- 22. 当Memstore在Hbase中崩溃时会发生什么?
- 23. 更新Elm中的记录
- 24. db中的更新记录
- 25. ElasticSearch中的更新记录
- 26. 更新EF中的记录
- 27. 记录中的更新列
- 28. xml中的更新记录
- 29. 如何更新旧记录时插入新记录?
- 30. 更新记录
这是很好的解释!顺便说一句,如你所说,habse源代码的哪一部分正在维护memstore?请指出,如果可能的话。 – Richard 2012-07-25 19:56:06
我想你要找的是org.apache.hadoop.hbase.regionserver.MemStore – 2012-07-25 21:23:29