hbase存储原理

 

 

行式存储:维护大量索引。存储成本高。不能做到线性扩展。对于随机读的效率高。对事物处理能力支持好

应用环境:表之间关联特性高。联机事务处理能力高。线性扩展不高数据量不能太大

列式存储:根据列的数据的相似性利于数据压缩。存储成本低。查询效率高

应用环境:对于单列或者列的获取较高。大数据环境利于数据压缩的

 

hbase的列族存储

列族:列的组合。

hbase table的组成:

table=rowkey+Framily+column+timestatmp+value

 

hbase建表语句解析

create 'demo:user',

{NAME=>'b',VERSIONS=>'3',COMPRESSION=>'SNAPPY',COMPRESSION_COMPACT=>'SNAPPY',REPLICATION_SCOPE=>1},

{NAME=>'b',COMPRESSION=>'SNAPPY',COMPRESSION_COMPACT=>'SNAPPY',REPLICATION_SCOPE=>1}

其中:

name:是列族

version:是版本。默认为3

replication_scope:实现远程集群的复制。通过预写日志实现

compression:压缩机制

压缩机制是使用cup资源换取磁盘空间资源。对读写没有太多影响

 

hbase利用LSM的存储思想:

1.先将数据存储在内存中

2.将数据持久刷入硬盘的文件中

3.对文件进行整合成大文件

 

hbase数据存储的目录解析

hbase-site.xml中:

hbase.rootdir配置的目录为hbse系统存储数据的位置。

hbase的元数据表为meta table表

 

resigon的数量不能低于集群的数量

store代表一个列族。region会根据其大小去判断是否切分

wal是hbase的预写日志, 作用是灾难恢复。regionserver对库的每一个操作都会先写到hlog中

hbase compaction   

compaction的触发机制有三种:

1.刷数据的时候如果超出了硬盘的空间大小会触发大合并

2.定时触发。触发为【7-7*0.2,7+7*0.2】7代表majorcompaction。如果不想被触发只需要将7改为0即可

3.手动触发。用户触发为想让数据立即生效    管理员手动触发为整理磁盘空间大小

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值