gpt4 book ai didi

hadoop - HBase - WAL 和 MemStore 有什么区别?

转载 作者:可可西里 更新时间:2023-11-01 14:15:03 27 4
gpt4 key购买 nike

我正在尝试理解 HBase建筑学。我可以看到两个不同的术语用于同一目的。

Write Ahead LogsMemstore ,两者都用于存储尚未持久化到 permanent storage 的新数据.

WAL 有什么区别?和 MemStore?

更新:

WAL - 用于在服务器崩溃时恢复尚未持久化的数据。MemStore - 将更新存储在内存中作为排序键值。

在写入数据到磁盘之前,似乎有很多重复的数据。

最佳答案

WAL 用于恢复而非数据复制。( further see my answer here )

请通过以下内容了解更多...

  • Hbase Store 托管一个 MemStore 和 0 个或多个 StoreFiles (HFiles)。 Store 对应于给定区域的表的列族。

  • Write Ahead Log (WAL) 记录 HBase 中基于文件的存储对数据的所有更改。如果 RegionServer 在刷新 MemStore 之前崩溃或变得不可用,WAL 确保可以重放对数据的更改。

  • 对于每个 RegionServer 的单个 WAL,RegionServer 必须串行写入 WAL,因为 HDFS 文件必须是顺序的。这导致 WAL 成为性能瓶颈。

  • 可以禁用
  • WAL 以改善性能瓶颈。这是通过调用 Hbase 客户端字段完成的

Mutation.writeToWAL(false)

一般注意事项:一般做法是,在进行批量加载数据时,禁用 WAL 以提高速度。但副作用是,如果您禁用 WAL,则万一内存崩溃,您将无法取回数据进行重播。

此外,如果您使用 solr+ HBASE + LILY,即 LILY Morphiline NRT 索引与 hbase,那么它将在 WAL 上工作,如果您出于性能原因禁用 WAL,那么 Solr NRT 索引将不起作用。因为 Lily 在 WAL 上工作。

请看Hbase architecture section

enter image description here enter image description here

关于hadoop - HBase - WAL 和 MemStore 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40067933/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com