HBase的行缓存和列式缓存机制分别用于高效读取和快速写入
发布时间
阅读量:
阅读量
目录
- 读写缓存
- BlockCache
-
- LRUBlockCache
- SlabCache
- BucketCache
读写缓存
HBase中的RegionServer缓存系统主要包含两部分: memstore 和 blockcache 。其中 memstore 主要用于存储临时性 writes ,而 blockcache 则用于存储持久化的 read 数据 。当数据被写入 HBase存储系统时 ,会首先将数据存储在 memstore 中 。当 memstore 中的数据量达到预设的内存阈值后 ,会触发 flush 操作将该 memstore 的数据持久化至磁盘 。对于客户的读取请求而言 ,如果未在 memstore 中找到所需的数据 ,则会继续查询 blockcache 。如果 still 未找到对应的数据 ,则需要从磁盘上进行读取操作 ,并将读取到的新数据同时更新至 blockcache 中 。其中 BlockCache 采用了基于最近使用频率( LRU )的淘汰策略 ,因此在其容量达到 heapsize × hfile.block.cache.size × 0.85 的上限后 ,将会启动淘汰机制 ,永久删除掉最久未被访问的一批旧数据 。
BlockCache
在高效数据获取方面进行配置以优化性能,在内存
全部评论 (0)
还没有任何评论哟~
