HBaseMemStore是什么,它如何影响HBase的性能和存储效率?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1843个文字,预计阅读时间需要8分钟。
MemStore是HBase中非常重要的组成部分,它作为HBase的写缓存,保存着数据的最新一次更新。
MemStore是HBase非常重要的组成部分MemStore作为HBase的写缓存保存着数据的最近一次更新同时是HBase能够实现MemStore 是 HBase 非常重要的组成部分MemStore 作为 HBase 的写缓存保存着数据的最近一次更新同时是HBase能够实现高性能随机读写的重要组成。
MemStore
HBase Table 的每个 Column family 维护一个 MemStore当满足一定条件时 MemStore 会执行一次 flush文件系统中生成新的 HFile。而每次 Flush 的最小单位是 Region。
MemStore的主要作用
更新数据存储在 MemStore 中使用 LSMLog-Structured Merge Tree数据结构存储在内存内进行排序整合。即保证写入数据有序HFile中数据都按照RowKey进行排序同时可以极大地提升HBase的写入性能。
作为内存缓存读取数据时会优先检查 MemStore根据局部性原理新写入的数据被访问的概率更大。
在持久化写入前可以做某些优化例如保留数据的版本设置为1持久化只需写入最新版本。
如果一个 HRegion 中 MemStore 过多Column family 设置过多每次 flush 的开销必然会很大并且生成大量的 HFile 影响后续的各项操作因此建议在进行表设计的时候尽量减少 Column family 的个数。
本文共计1843个文字,预计阅读时间需要8分钟。
MemStore是HBase中非常重要的组成部分,它作为HBase的写缓存,保存着数据的最新一次更新。
MemStore是HBase非常重要的组成部分MemStore作为HBase的写缓存保存着数据的最近一次更新同时是HBase能够实现MemStore 是 HBase 非常重要的组成部分MemStore 作为 HBase 的写缓存保存着数据的最近一次更新同时是HBase能够实现高性能随机读写的重要组成。
MemStore
HBase Table 的每个 Column family 维护一个 MemStore当满足一定条件时 MemStore 会执行一次 flush文件系统中生成新的 HFile。而每次 Flush 的最小单位是 Region。
MemStore的主要作用
更新数据存储在 MemStore 中使用 LSMLog-Structured Merge Tree数据结构存储在内存内进行排序整合。即保证写入数据有序HFile中数据都按照RowKey进行排序同时可以极大地提升HBase的写入性能。
作为内存缓存读取数据时会优先检查 MemStore根据局部性原理新写入的数据被访问的概率更大。
在持久化写入前可以做某些优化例如保留数据的版本设置为1持久化只需写入最新版本。
如果一个 HRegion 中 MemStore 过多Column family 设置过多每次 flush 的开销必然会很大并且生成大量的 HFile 影响后续的各项操作因此建议在进行表设计的时候尽量减少 Column family 的个数。

