学习总结十八:Hbase数据库介绍

来源:互联网 发布:越南古代服饰淘宝 编辑:程序博客网 时间:2024/06/05 17:55

       Hbase是Hadoop中的数据库,属于NoSq类型的l数据库。它是一个高可靠,高性能,面向列,可伸缩的分布式储存系统。Hbase是利用Hadoop的hdfs作为文件储存系统,利用MP来处理Hbase中的海量数据,利用zookeeper作为协调工具。

      Hbase是主从体系结构,主节点是Hmaster,从节点是HRegionServer 。

      Hbase和hdfs区别:hbase进行海量数据秒级简单查询,hdfs不可以,它只可以通过mp去查询。为什么hbase可以做到海量数据简单查询呢?原因是hbase把海量数据拆分成一个一个的region,每个region都有一个行键范围,也即都有一个startKey和endKey,每个region分散在不同的RegionServer中;对表的操作就转化成为对多台RegionServer服务器的并行操作。

      Hbase中两张特殊表:.META.记录了用户表的region信息。-ROOT-记录META表的region信息,-ROOT-只有一个region。 Zookeeper中记录了-ROOT-表的location。Client访问用户数据之前需要首先访问zookeeper,然后访问-ROOT-表,接着访问.META.表,最后才能找到用户数据的位置去访问。

     Hbase数据模型:

1. 表(table),是存储管理数据的。
2. 行键(row key),类似于MySQL中的主键。
    行键是HBase表天然自带的。
3. 列族(column family),列的集合。
    HBase中列族是需要在定义表时指定的,列是在插入记录时动态增加的。
HBase表中的数据,每个列族单独一个文件。
4. 时间戳(timestamp),列(也称作标签、修饰符)的一个属性。
    行键和列确定的单元格,可以存储多个数据,每个数据含有时间戳属性,数据具有版本特性。
如果不指定时间戳或者版本,默认取最新的数据。
5.存储的数据都是字节数组。
6. 表中的数据是按照行键的顺序物理存储的。

1 0
原创粉丝点击