HBase知识点笔记总结

HBase是什么

HBase是Apache旗下一个高可靠性、高性能、面向列、可伸缩的一个分布式的基于列式存储的数据库,依赖于HDFS做底层的数据存储,基于Hadoop的hdfs存储,zookeeper进行管理。

利用HBase技术可以在廉价的PC服务器上搭建大规模的存储化集群,使用HBase可以对数十亿级别的大数据进行实时性的高性能读写,在满足高性能的同时还保证了数据存取的原子性。

原子性属于事物四大特性之一。

原子性:
一个事物中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某环节。事物在执行过程中发生错误,会被回滚到事物开始前的状态,就像这个事物没有执行过一样。
一致性:
在事物开始之前、结束之后,数据库的完整性没有被破坏。
隔离性:
数据库允许多个并发事物,同时对其数据进行读写和修改的能力。隔离性可以防止多个并发事物执行,由于交叉执行,而导致的数据不一致。事物的隔离分为不同级别,包括读,未提交;读,提交;可重复读和串行化。
持久性:
事物处理结束后,对数据的修改就是永久的,即使系统故障也不会丢失数据。

事物主要用来管理insert、update、delete语句。
一般来说,事物必须满足四个条件:原子性、一致性、隔离性、持久性。

HBase的特点

1、大:一个表可以有数十亿行,上百万列。

2、无模式:每行都有一个可排序的主键和任意多的列,列可以根据需要动态的增加,同一张表中不同的行可以有截然不同的列。

3、面向列:面向列(族)的存储和权限控制,列(族)独立检索。

4、稀疏:空(null)列并不占用存储空间,表可以设计的非常稀疏。

5、数据多版本:每个单元中的数据可以有多个版本,默认情况下版本号自动分配,是单元格插入时的时间戳。

6、数据类型单一:Hbase 中的数据都是字符串,没有类型。

CAP理论

在这里插入图片描述
Consistency(一致性):数据一致更新,所有数据变动都是同步的。
假如数据在ABC 3个节点上都有备份,在A节点更新了,BC也会更新,否则就会出现不对应错乱的情况。
Availability(可用性):良好的响应性能。
对外部请求可以及时作出反应,效率比较高。
Partition tolerance(分区容错性):可靠性。
就是我们的数据一定要有备份,不能存放在一个节点上,如果发生宕机,就会发生数据丢失。
定理:任何分布式系统只可能同时满足两点,没法三者兼顾。

集群架构

在这里插入图片描述
Client:包含了访问HBase的接口,还有维护缓存加速HBase的访问。

Zookeeper:实现HMaster的高可用;监控HRegionServer的状态;存储.META.的地址。

HMaster:维护.META.;为HRegionServer分配Region;维护集群的负载均衡。

HRegionServer:处理客户端的读写请求;管理HMaster分配的Region。

HDSF:为HBase提供最终的底层数据存储服务。

Rowkey设计原则

<
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值