0 先看如下desc后的列族属性字段:
hbase(main):003:0> describe 'stu' Table stu is ENABLED stu COLUMN FAMILIES DESCRIPTION {NAME => 'base', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATIO N_SCOPE => '0', VERSIONS => '1', COMPRESSION => 'NONE', MIN_VERSIONS => '0', TTL => 'FOREVER', KEEP_DELETED_CELLS => 'FALSE', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 'true'} 1 row(s) in 0.5000 seconds
1 blocksize:
数据块大小配置优化: blocksize默认是64K
数据块越小,索引越大,占用内存也越大, 如果随机查询,比如某个表+某个ID方式, 如果是顺序scan扫描区间,那么设置大一点 否则保持默认值
create "stu",{NAME => "cf",BLOCKSIZE =>"65536"} 设置stu cf列族块大小为64K,默认单位是字节,采用这种细粒度,目的是块操作时更加有效加载和缓存数据,
不依赖于hdfs块尺寸设计,仅仅是hbase内部的一个属性。
2 数据块缓存的配置: bloockcache
数据块缓存的配置:
如果经常顺序访问或很少被访问,可以关闭列族的缓存,列族缓存默认打开
create "stu",{NAME => "cf",BLOCKCACHE =>"false"}
3 激进缓存的配置:
可以选择一个列族赋予更高的优先级缓存, 激进缓存,表示优先级更高,IN_MEMORY默认是false
create "stu",{NAME => "cf",IN_MEMORY =>"true"}
4 布隆过滤器: BLOOMFILTER 开启时,会对数据产生一个标记,如果没有标记在去表里查数据, 反向测试(索引)有两种: 有 / 不知道, 会记录数据的信息,
布隆过滤器的配置:
减少硬盘读取数据带来的开销,对储存的数据块做反向测试,占用额外的空间
create "stu",{NAME => "cf",BLOOMFILTER =>"ROWCOL"}
5 TTL 生存时间,当数据记录一段时间想删除掉,是以s为单位的,设置一个时间 超过后会被设置为删除标记
生存时间配置:(TTL)
超过这个时间设置的就会在下一次大合并中被删除
create "stu",{NAME => "cf",TTL =>"18000"}
6 压缩:
压缩可以节省空间,读写数据会增加CPU的使用率 LZO,SNAPPY,GZIP
create "stu",{NAME => "cf",COMPRESSION =>"GZIP"}
7 单元时间版本: 0.96版本默认是3个, 0.98版本是1, 要根据业务来划分,版本是历史记录,版本增多意味空间消耗。
单元时间版本:
默认维护一个时间版本
create "stu",{NAME =>"cf",VERSIONS =>5}
相关推荐
除了基本的配置和启动外,还可以进行更高级的操作,例如创建新的 HBase 表、删除表等。例如: - 创建表 `scores` 并添加列族 `grade`: ```shell create 'scores','grade' ``` - 删除表 `scores` 中的 `grade` ...
这些配置包括了 HBase 的基础配置,如 HBase 的环境变量设置,以及高级配置,例如用于优化性能的参数调整。 接下来,手册讲解了 HBase 的两种运行模式:Standalone(单机模式)和 Distributed(分布式模式)。在...
《HBase列式数据库实战详解》 HBase,作为NoSQL数据库家族中的重要成员,尤其在大数据领域扮演着不可或缺的角色。它是一个分布式的、面向列的数据库,特别适合处理大规模数据。本篇将深入探讨HBase的核心操作,包括...
在概念视图中,HBase的数据被组织成命名空间、表、行和列族。物理视图则展示了数据是如何在HBase内部存储的,包括了数据模型操作、版本控制、排序顺序、列元数据、连接操作以及ACID事务特性。 在架构方面,HBase...
HBase采用的是列族式存储模型,每个表由一个或多个列族组成,表中的数据都是以行的形式存储的。列族下面可以存储多个列。Cells是HBase数据存储的基本单位,它包含了数据的值、时间戳和行键等信息。 ### HBase与...
2. **列式存储**:与传统的关系型数据库不同,HBase以列族(Column Family)的形式存储数据,这使得对特定列的数据查询效率非常高。 3. **稀疏性**:HBase允许表中的大部分单元格为空,这对于处理大规模数据时非常...
- **高级配置**:对于已经熟悉HBase基础操作的读者,书中还介绍了如何根据具体需求调整配置参数,以获得更佳的性能表现。 #### 七、总结 通过上述内容可以看出,《HBase权威指南》全面而深入地介绍了HBase的相关...
HBase是Apache Hadoop生态系统中的一个分布式、可扩展的列族数据库,它提供了类似Bigtable的能力,能够在大规模数据集上进行随机读写操作。HBase是基于Hadoop Distributed File System (HDFS)构建的,能够处理PB级别...
- `create '表名称', '列族1', '列族2', '列族3'...`:创建一个新表并指定列族。 - `create '表名称', {NAME => '列族1', VERSIONS => 3}, {NAME => '列族2', VERSIONS => 2}`:创建新表时可以指定每个列族的属性,...
HBase 2.0提供了丰富的架构设计功能,包括表的创建和设计规则、列族的数量、版本控制、数据类型的支持、联结、存活时间(TTL)、二级索引和备选查询路径。此外,它还介绍了表架构设计案例研究,为用户在构建自己的...
HBase是Apache Hadoop生态系统中的一个核心组件,它是一个分布式、版本化的、支持列族的NoSQL数据库,特别适合处理大规模的数据存储。CDH(Cloudera Distribution Including Apache Hadoop)已经包含了HBase,因此在...
- **HBase的数据模型**包括行(Row)、列族(Column Family)、单元格(Cell)和版本(Version)。 - **HBase的存储结构**,分为概念视图和物理视图。概念视图指的是表、行、列族的逻辑结构;物理视图则描述了数据在...
其他字段则作为列族(Column Family),如在这里,`address`、`score`、`province`等都属于同一列族,可以视为一个实体的属性。 ```shell create 'student', 'info' ``` 以上命令创建了一个名为`student`的表,`...
这一部分强调了HBase的三大核心组件:命名空间(Namespace)、表(Table)和列族(ColumnFamily)。它会详细解释HBase中的行(Row)、单元格(Cell)以及如何进行数据模型操作,如版本控制、排序顺序和列元数据管理...
HBase的数据模型基于列族,每个表由若干列族构成,列族内可以有任意多的列,列名动态添加,这种设计使得HBase具有极高的扩展性。 二、HBase的搭建 搭建HBase涉及以下几个步骤: 1. 安装Java环境:HBase依赖Java,...
2. 列族和表:HBase的数据模型是基于列族的,每个表由一个或多个列族组成,列族内部可以有任意多的列。这种设计允许用户按需存储和检索数据,降低了存储成本。文档可能会讲解如何创建和管理HBase表,以及定义列族和...
1. **列族(Column Family)**:HBase的核心组织单元,类似于传统数据库中的表。列族由一组具有相同前缀的列组成,列族在创建表时定义,之后可以动态添加列。 2. **行键(Row Key)**:HBase中的数据是通过行键来...