1、 HBase简介
Hbase是一个分布式的、多版本的、面向列的开源KeyValue数据库。
3、Hbase架构
(1)架构初识
在分布式的生产环境中,HBase 需要运行在 HDFS 之上。HBase 上层提供了访问数据的 Java API 层,供应用访问存储在 HBase 的数据。在 HBase 的集群中主要由 Master 和 Region Server 以及 Zookeeper 组成,具体模块如下图所示:
Hbase是一个分布式的、多版本的、面向列的开源KeyValue数据库。
- 多版本:每列值或单元格的值都具有时间戳,通过不同的时间戳来区分不同版本的值,一个单元格不同版本的值按照降序排列在一起,访问时优先读取最新的值。
- 面向列:Hbase是面向列存储的,RDBMS在表定义时,列属性是固定的,不能动态扩展,而Hbase可以动态的插入列,列的数量没有限制(可以有数百万个列)。
- Row Key(行键):HBase是根据RowKey来检索数据的,不支持条件查询和Order by等查询,读取记录只能按Row key(及其range)或全表扫描。HBase存储时,根据RowKey的字典序排序。
- Column Family(列族):在创建表时预先声明,不能修改的太频繁。Hbase中列的数量可能没有限制,但是列族的数量是有限制的,不超过几十个。
- Column(列):Hbase中每个列属于一个列族,一般以列族名为前缀进行表示,ColumnFamily:Column Name,可以动态的新增(或删除),列的数量没有限制。
- Timestamp(时间戳):每列值或单元格都有时间戳, Hbase中以时间戳来区分版本,每列值以时间戳进行降序排列,访问时优先读取最新的值。
- Value(值):Hbase中的值是由Table,RowKey,Column Family,Column,Timestamp来唯一确定的,数据存储模式如下:(Table,RowKey,Column Family,Column,Timestamp)——>Value。
(1)架构初识
在分布式的生产环境中,HBase 需要运行在 HDFS 之上。HBase 上层提供了访问数据的 Java API 层,供应用访问存储在 HBase 的数据。在 HBase 的集群中主要由 Master 和 Region Server 以及 Zookeeper 组成,具体模块如下图所示:
- Client API
- Master
HBase Master用于协调多个Region Server,负责RegionServer之间的负载均衡,将繁忙服务器中的region移到负载较轻的服务器中。HBa