-
特点:
- 单表可以有百亿行,百万列,数据矩阵横向和纵向两个维度所支持的数据量级都非常有弹性
- 面向列的存储和权限控制(可以动态的增加列,区别于关系型数据库,一开始列就是固定死的)
- Hbase的每一个列的数据存储有多个Version(一个人的家庭住址几年来一直变化)
- 为空的列并不占用存储空间,表可以设计的很稀疏(稀疏性)
- 扩展性--底层依赖于HDFS(本身数据有备份)
- 高性能
- 底层LSM数据结构+RowKey有序排列等架构(保证了很高的写入性能)
- region切分、主键索引、缓存机制(高读取性能)
- 底层LSM数据结构+RowKey有序排列等架构(保证了很高的写入性能)
-
如果只是百万级的存储量,直接用关系型数据库就行
-
如果数据量达到了亿级行和百万级列(没这么大也行),同时又需要接近准实时的查询这些数据,那就可以用Hbase了
-
Hbase的使用场景:交通(比如长江航道上面的GPS信号采集数据,其每天估计可以达到千万级的量,采用Hbase是不错的选择)
关系型数据库中,如果你要插入一个数据那就必须要有这个字段,比如你在oracle的user表中insert 一个age,那你这个user表中必须要有age这个字段,不然会报错,在hbase的表中你put一个age的时候,如果没有age这个列,那hbase会自动帮你创建一个age这个列,所以是动态增加列!
Hbase的版本
- 官网版本 新、不稳定
- CDH版本 稳定
Hbase在hadoop生态当中的位置

Hbase架构体系

依赖于HDFS和ZooKeeper,注意图中的红色部分和黑色部分,中间的红色椭圆相当于数据节点,它们会向Master节点汇报自己的健康信息,同时也会向Zookeeper汇报信息,Master节点和Zookeeper之间也有信息同步通道
Hbase的表结构模型

-
举例说明
图片.png
我们只需要在开始的时候定义列族,比如
个人信息
,教育经历
等,而下面的那些信息我们开始是不需要定义的
-
再来看个严谨一点的
图片.png
列簇

region划分(属于人工干预存储)

与关系型数据库有什么区别?

Hbase安装说明
-
第一:需求
图片.png
-
第二:先决条件--Hadoop
图片.png
-
版本示例
图片.png
网友评论