`

hbase 压缩

 
阅读更多


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-1.1.5-bin版本的压缩包,下载到本地解压后即可使用 HBase 是一个开源的、分布式的NoSQL数据库

    HBase 是一个开源的、分布式的、版本化的 NoSQL 数据库(也即非关系型数据库),它利用 Hadoop 分布式文件系统(Hadoop Distributed File System,HDFS)提供分布式数据存储。与传统的关系型数据库类似,HBase 也以...

    HBase权威指南中文版(压缩成5个文件了)分卷3

    HBase权威指南中文版(压缩成5个文件了)分卷3 总共5个分卷

    Hbase设置Snappy压缩测试

    标题中的“Hbase设置Snappy压缩测试”表明我们要探讨的是如何在HBase中配置Snappy压缩,这是一种常见的数据压缩技术,常用于提升大数据存储和处理的效率。Snappy以其较高的解压速度和较低的压缩率著称,尤其适用于...

    Linux下Hbase和zookeeper的安装和部署

    在任一节点上解压HBase压缩文件: ```bash tar -zxvf hbase-1.2.3-bin.tar.gz ``` ##### 步骤二:配置环境变量 设置HBase相关的环境变量: ```bash # 设置HBase的安装路径 export HBASE_HOME=/usr/tools/hbase-...

    HBase集群配置SNAPPY压缩

    1 介绍 大数据时代,海量数据的存储和分析是一个巨大的挑战...主流的HBase压缩方式有LZO和Snappy,Snappy的压缩比会稍微优于LZO,具体的对比,可参考这篇文章:http://www.cnblogs.com/zhengrunjian/p/4527165.html Sna

    基于Hbase的列式存储压缩策略的优化

    本文主要探讨了如何优化基于HBase的列式存储压缩策略,以解决大数据分散导致的学习成本高和压缩效率低的问题。文章首先提出了一种基于排序的数据压缩方法,该方法通过设计一种针对HBase特性对各列数据进行排序的方法...

    hbase的shell操作

    根据提供的文件信息,本文将详细介绍HBase的Shell操作及其应用场景,包括如何创建表、插入数据、查询数据等关键操作。 ### HBase Shell简介 HBase Shell是HBase提供的一种交互式命令行工具,用于执行HBase操作。它...

    分布式存储系统:HBase:HBase数据压缩与编码技术教程.docx

    分布式存储系统:HBase:HBase数据压缩与编码技术教程.docx

    HBase官方文档中文版-HBase手册中文版

    2. 列族配置:根据数据访问模式调整列族的缓存、压缩和版本策略。 3. Bloom Filter:减少无效磁盘I/O,提高查询效率。 4. Coprocessor:在Region服务器端实现业务逻辑,减少网络传输。 六、HBase监控与故障恢复 1. ...

    HBase学习利器:HBase实战

    数据压缩与缓存**:HBase支持多种数据压缩算法,可以显著减少存储空间的需求。同时,通过缓存机制提高数据读取速度,尤其是在热点数据访问时表现更佳。 **4. 安全性和权限管理**:HBase提供了细粒度的安全控制机制...

    hbase安装与使用

    2. **解压并移动到指定目录**:在 Linux 系统上创建一个专门存放 HBase 的目录 `/usr/hbase`,然后解压缩下载的安装包到该目录下。 ```bash mkdir /usr/hbase tar -zxvf hbase-0.98.3-hadoop2-bin.tar.gz -C /...

    hbase安装lzo压缩包的编译文件master

    在HBase中,LZO是一种常用的压缩算法,用于优化数据存储和提高数据读写效率。本文将详细讲解如何在HBase环境中安装和编译LZO压缩包,以及它与HBase Master节点的关系。 首先,我们需要了解HBase。HBase是一个分布式...

    hbase,mysql备份压缩springboot代码

    HBase支持在RegionServer级别启用压缩,同时备份时也可以使用gzip或bzip2等压缩工具。 接下来是MySQL,这是一个广泛使用的SQL关系型数据库。MySQL备份包括: 1. **mysqldump**:这是最常用的全量备份方法,通过...

    HBase配置文件与HBase doc文档

    4. **表管理**:如何创建、修改和删除表,以及分区策略和表的压缩配置。 5. **客户端API**:提供Java、Shell、REST、Thrift等多种接口的使用示例,以及API的详细说明。 6. **性能调优**:涵盖JVM参数、HBase配置、...

    hbase社区2018精选资料

    运维指南部分讲解了HBase2.0的新特性,比如In-MemoryCompaction,这是一个内存压缩技术,有助于提升数据处理速度。HBCK2是一个修复工具,用于解决HBase中可能出现的数据一致性问题。 HBase社区的平台建设也是资料的...

    hbase-1.2.1-bin.tar.gz.zip

    标题“hbase-1.2.1-bin.tar.gz.zip”表明这是HBase 1.2.1版本的二进制发行版,以tar.gz格式压缩,并且进一步用zip压缩。这种双重压缩方式可能用于减小文件大小,方便在网络上传输。用户需要先对zip文件进行解压,...

    hbase2.2安装文件

    HBase是Apache软件基金会的一个开源项目,是一款基于Google Bigtable理念设计的分布式列式数据库,专为处理海量数据而设计。它运行在Hadoop之上,充分利用了HDFS(Hadoop Distributed File System)作为其底层存储...

    hbase-1.1.2-bin.tar.gz

    标题中的“hbase-1.1.2-bin.tar.gz”指的是HBase 1.1.2版本的二进制发行包,通常以压缩格式提供,方便用户下载并在Linux或Unix环境中安装使用。 HBase的设计灵感来源于Google的Bigtable论文,它在Hadoop之上构建,...

Global site tag (gtag.js) - Google Analytics