1.HBase概述 HBase是一个分布式的、面向列的开源数据库。它是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。 HBase就是一款基于列的、可以高效地查询海量数据的非关系型数据库。 2.HBase架构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等关系型数据库可以进行复杂查询。 【转载】https://blog.csdn.net/Kenan_07/article/details/81905025
|