HBSAE-NoSQL 非关系型数据库

2020-04-11 10:47:52 浏览数 (1)

Hbase 使用场景:有数十亿列,同时在很短时间内有数以千计的读写数据操作

每天写入量巨大,而相对读数量较小的应用,不需要复杂查询条件来查询数据的应用,HBase只支持基于rowkey的查询

读写流程:clinet-wal-memstore-Hfile

概念:Hmaster、RegionServer、Region、HFile

集群配置:CPU: 8~24核、电源: 恒定,散热好、内存:8~48G、磁盘:SATA驱动,(7200r/min)、网络(小集群1G/s ,大集群 10G/s)

容量规划:磁盘容量比存储实际容量多出25%~50%

估算公式:T =(S*R)*1.25(估算了临时文件)

S:存储量,R:副本数,T:集群所需空间

用NTP(网络时间协议)保证集群各节点准时

Hbase操作:

读 get get 't1','rowkey001', 'f1:col1'

写 put put 't1','rowkey001','f1:col1','value01'

扫描 scan scan 'tablename',{LIMIT =>2 } 获取前两行

删除 delete delete 't1','rowkey001','f1:col1'

Hbase可以作为hive外部表数据

权限控制:ACL

数据备份:

1、离线备份:distcp命令 hadoop distcp hdfs://jiqun1:9000/hbase hdfs://jiqun2:9000/hbasebackup/backup1

2、在线备份:Hbase快照--在线、离线两种方式

3、使用Export和Import 进行备份和恢复

java操作HBase

基本增删改查 HTable类,Hbase存储都是字节,Hbase单元格数据大小不能超过20M

过滤器功能-通过RegionServer进行过滤

Hbase内部提供了restful和thrift服务接口,通过命令可以开启。

其它Nosql数据库:redis 支持事务,MongoDB不支持事务

0 人点赞