大数据入门之Hadoop生态系统(11) -- HBase概念

1.HBase概述

HBase是一个分布式的、面向列的开源数据库。它是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。

HBase就是一款基于列的、可以高效地查询海量数据的非关系型数据库。

2.HBase架构

大数据入门之Hadoop生态系统(11) -- HBase概念_第1张图片

RegionServer:读写HDFS中的数据,管理表中的数据。因为我们HBase最后的数据是落地在HDFS文件系统中的。存放和管理本地的Region。

Master:管理、监控RegionServer,实现负载均衡。对表的增删改,列族(column family的增删改等)。

Zookeeper:存放HBase集群的元数据以及集群的状态信息。 

Region:当我们一张表中,数据比较多的时候,它会对数据进行一个分区Region-1、Region-2 ....,每个Region分别管理一部分数据。

3.与MySQL等关系型数据对比

列动态增加:HBase只需在设计表的时候指定列蔟,可以动态地在列蔟中增加列。MySQL则在一开始设计数据表的时候,就要把所有的列都设计好。

数据自动划分:HBase数据可以自动分区(Region)。MySQL当数据太多的话,我们需要人工进行分区分表分库等操作。

高并发读写:HBase的高并发读写能力是很多数据库都比不了的,百万条数据,查询时间可以在百毫秒之内。

不能复杂查询:HBase不支持条件查询或复杂查询的,只支持RowKey的匹配查询。MySQL等关系型数据库可以进行复杂查询。

 

你可能感兴趣的:(大数据,HBase)