Hbase memstore和内存是否相同?

时间:2013-07-16 11:53:29

标签: get hbase

为什么数据不会立即刷新到文件系统?  默认情况下,在刷新到文件系统之前,数据在memstore中可用多长时间? 对于每个写入数据将存储在memstore中,如每次读取也会将数据写入memstore /

2 个答案:

答案 0 :(得分:0)

Flushing只是存储到区域服务器的RPC, 可以通过

将数据刷新到Region服务器
    表上的
  1. put操作,Row / s将被转移到Region服务器。
  2. 如果我们将缓冲区大小设置为setWriteBufferSize(),那么当缓冲区变满时。
  3. 或明确调用flushCommits()

答案 1 :(得分:0)

Memstore充当最后写入数据的内存缓存,并且还确保当作为HFile写入HDFS时,所有行键主要是排序的。因此,在刷新之前,对行进行排序然后刷新。这主要是因为HDFS中的文件一旦写入就无法修改   调整以下两个用于Memstore刷新

 hbase.hregion.memstore.flush.size
 hbase.regionserver.global.memstore.lowerLimit

频繁的Memstore刷新也会降低读取操作的性能,因为HBase必须查看频繁刷新导致的大量HFile。

希望这有帮助。