Hbase有两种压缩策略:minor和major。Minor compactions通常选择几个临近的小的storefiles把他们重写成一个。Minors 不会丢掉已删除或者过期的cells,只有major compactions才会做这些。有时一次Minor compactions将会选择一个store里的全部storefiles,因此,它实际上是一次局部的major compaction。
当进行完一次major compaction以后所有的store都只有一个storefiles,这对查询性能有很大提升。注意:major compaction将会在一个运行中的系统中重写全部store的数据,不提倡自动运行;major compactions 在大型系统中通常是手动进行的。
9.7.5.5.1. Compaction File Selection
为了了解选取storefile的核心算法,可以看下图:
/* normal skew:
*
* older ----> newer
* _
* | | _
* | | | | _
* --|-|- |-|- |-|---_-------_------- minCompactSize
* | | | | | | | | _ | |
* | | | | | | | | | | | |
* | | | | | | | | | | | |
*/
关键点:
hbase.store.compaction.ratio 比率在选择压缩文件的策略中被使用 (默认值1.2f).
hbase.hstore.compaction.min (.90版本中使用 hbase.hstore.compactionThreshold) (files) 在一次压缩发生前每个store中的至少有多少个storefiles被选择(默认值为2)
hbase.hstore.compaction.max (files) 在一次minor compaction发生前每个store中的最多有多少个storefiles被选择(默认值为10).
hbase.hstore.compaction.min.size (bytes) 任何一个storefile如果大于给定的大小将自动成为候选的将被压缩的storefile
默认与hbase.hregion.memstore.flush.size (128 mb)相同.
hbase.hstore.compaction.max.size (.92) (bytes) 任何storefile如果大于给定值将会自动被排除,不再压缩(默认值Long.MAX_VALUE).
Minor compaction 选择storefile的逻辑是基于文件大小的,当一个文件<=sum(比它小的文件) * hbase.hstore.compaction.ratio 将被选择
分享到:
相关推荐
HBase 是一个开源的、分布式的、版本化的 NoSQL 数据库(也即非关系型数据库),它利用 Hadoop 分布式文件系统(Hadoop Distributed File System,HDFS)提供分布式数据存储。与传统的关系型数据库类似,HBase 也以...
HBase权威指南中文版(压缩成5个文件了)分卷3 总共5个分卷
标题中的“Hbase设置Snappy压缩测试”表明我们要探讨的是如何在HBase中配置Snappy压缩,这是一种常见的数据压缩技术,常用于提升大数据存储和处理的效率。Snappy以其较高的解压速度和较低的压缩率著称,尤其适用于...
在任一节点上解压HBase压缩文件: ```bash tar -zxvf hbase-1.2.3-bin.tar.gz ``` ##### 步骤二:配置环境变量 设置HBase相关的环境变量: ```bash # 设置HBase的安装路径 export HBASE_HOME=/usr/tools/hbase-...
1 介绍 大数据时代,海量数据的存储和分析是一个巨大的挑战...主流的HBase压缩方式有LZO和Snappy,Snappy的压缩比会稍微优于LZO,具体的对比,可参考这篇文章:http://www.cnblogs.com/zhengrunjian/p/4527165.html Sna
本文主要探讨了如何优化基于HBase的列式存储压缩策略,以解决大数据分散导致的学习成本高和压缩效率低的问题。文章首先提出了一种基于排序的数据压缩方法,该方法通过设计一种针对HBase特性对各列数据进行排序的方法...
根据提供的文件信息,本文将详细介绍HBase的Shell操作及其应用场景,包括如何创建表、插入数据、查询数据等关键操作。 ### HBase Shell简介 HBase Shell是HBase提供的一种交互式命令行工具,用于执行HBase操作。它...
2. 列族配置:根据数据访问模式调整列族的缓存、压缩和版本策略。 3. Bloom Filter:减少无效磁盘I/O,提高查询效率。 4. Coprocessor:在Region服务器端实现业务逻辑,减少网络传输。 六、HBase监控与故障恢复 1. ...
数据压缩与缓存**:HBase支持多种数据压缩算法,可以显著减少存储空间的需求。同时,通过缓存机制提高数据读取速度,尤其是在热点数据访问时表现更佳。 **4. 安全性和权限管理**:HBase提供了细粒度的安全控制机制...
2. **解压并移动到指定目录**:在 Linux 系统上创建一个专门存放 HBase 的目录 `/usr/hbase`,然后解压缩下载的安装包到该目录下。 ```bash mkdir /usr/hbase tar -zxvf hbase-0.98.3-hadoop2-bin.tar.gz -C /...
HBase是Apache软件基金会的一个开源项目,是一款基于Google Bigtable理念设计的分布式列式数据库,专为处理海量数据而设计。它运行在Hadoop之上,充分利用了HDFS(Hadoop Distributed File System)作为其底层存储...
在HBase中,LZO是一种常用的压缩算法,用于优化数据存储和提高数据读写效率。本文将详细讲解如何在HBase环境中安装和编译LZO压缩包,以及它与HBase Master节点的关系。 首先,我们需要了解HBase。HBase是一个分布式...
HBase支持在RegionServer级别启用压缩,同时备份时也可以使用gzip或bzip2等压缩工具。 接下来是MySQL,这是一个广泛使用的SQL关系型数据库。MySQL备份包括: 1. **mysqldump**:这是最常用的全量备份方法,通过...
4. **表管理**:如何创建、修改和删除表,以及分区策略和表的压缩配置。 5. **客户端API**:提供Java、Shell、REST、Thrift等多种接口的使用示例,以及API的详细说明。 6. **性能调优**:涵盖JVM参数、HBase配置、...
运维指南部分讲解了HBase2.0的新特性,比如In-MemoryCompaction,这是一个内存压缩技术,有助于提升数据处理速度。HBCK2是一个修复工具,用于解决HBase中可能出现的数据一致性问题。 HBase社区的平台建设也是资料的...
标题“hbase-1.2.1-bin.tar.gz.zip”表明这是HBase 1.2.1版本的二进制发行版,以tar.gz格式压缩,并且进一步用zip压缩。这种双重压缩方式可能用于减小文件大小,方便在网络上传输。用户需要先对zip文件进行解压,...
下载完成后,使用tar命令解压缩下载的Hbase安装包,然后将其重命名为`hbase`,便于后续操作。 3. **修改文件权限**: 为了运行Hbase,我们需要将`hbase`目录的权限赋予给Hadoop用户。可以使用`chown`命令来完成这...
解压缩文件,将其放在一个合适的目录下,比如 `/usr/local`。记住这个路径,因为后续配置会用到。 3. **设置环境变量**: 打开终端,使用文本编辑器(如nano或vi)编辑`~/.bashrc`文件,添加以下行来指定HBase的...