物联网架构之HBase

物联网架构之HBase

一.HBase概述

    NBase是一个基于HDFS的面向列的分布式数据库。由于HDFS是基于流式数据访问,对于实时的数据并不适在HDFS上运行。所以,如果需要实时的随机访问超大规模数据集是,使用HBase是更好的选择。
    HBase是基于Hadoop的一个分布式数据库,他利用HDFS作为文件存储系统。HDase是一种NoSQL数据库,是以键值对的方式按列存储。
总体可将NoSQL 数据库分为以下四类:
    基于列存储的类型
    基于文档存储的类型
    基于键值对存储的类类型
    基于图形数据存储的类型
    HBase本质上只有插入操作,更新和删除都是以插入的方式完成的,这是由底层 HDFS 流式访问特性(一次写入、多次读取)决定的。所以,在更新时总是插入一个带时间戳的新行,而删除时插入一个带有删除标记的新行。每一次的插入都有一个时间戳标记,每次都是一个新的版本,HBase 会保留一定数量的版本(这个值是可以设定的)。如果在查询时提供时间戳,则返回距离该时间最近的版本;否则返回离现在最近的版本。
二.HBase体系结构
    HBase的服务器体系结构同样是Mater/Slaves的主从服务器结构,它是由一个HMaster服务器和多个HReginServer服务器构成,而这些所有的服务器都是通过ZooKeeper来进行协调并处理个服务器运行期间可能遇到的错误。HMaster负责管理所有的HRegionServer,HRegionServer负责存储许多HRegion,每一个HRegion是对HBase逻辑表的分块。图 7.1 给出了 HBase 集群中的所有成员. <><>![在这里插入图片描述](https://img-blog.csdnimg.cn/img_convert/b426867c0e5d3bebe0b8e0db29c4a995.png#pic_center)

(1)Hregion

    HBase使用表存储数据集,表由行和列组成,这与关系型数据库非常相似。但是,当表的大小超过设定值时,HBase 会自动将表划分为不同的区域(Region)。 每个区域称为 HRegion,它是 HBase 集群上分布式存储和负载均衡的最小单位,在 这点上表和 HRegion 类似于 HDFS 中文件与文件块的概念。一个 HRegion 中保存一 个表中一段连续的数据,通过表名和主键范围(开始主键~结束主键)区分每一个 HRegion。一开始,一个表只有一个 Hregion。随着 HRegion 开始变大,直到超出设 定的大小阈值,便会在某行的边界上把表分成两个大小基本相同的 HRegion,称为 HRegion 分裂,如图 7.2 所示。

猜你喜欢

转载自blog.csdn.net/qq_53195102/article/details/115625226