今天就跟大家聊聊有关HBase理论知识点有哪些,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
数据存储:HBase数据存储依赖于HDFS,自身不存储数据,所以HBase其实是个表数据管理的工具。
数据备份:HBase的数据可靠性完全依赖于HDFS进行数据备份(三副本),因此,HBase无需关心数据的可靠性,只需要关心服务的可靠性即可
通过转移管理权限。
HBase中的Region(真实数据存在HDFS)由Region Server进行管理,当ZooKeeper发现RS挂掉后,HMaster会将此RS上的Region数据进行迁移(其实所谓的迁移,只是将Region的管理权限迁移到其它的RS上,数据存储的位置仍然在HDFS上,没有改变)
索引:HBase只在rowkey有索引,所以主要面向于基于rowkey进行简单的查询,HBase不适合复杂查询,如根据多个字段查询(没有索引,查询很慢),表关联直接不支持。
HBase是三维有序存储的,通过rowkey(行键),column key(column family和qualifier)和TimeStamp(时间戳)这个三个维度可以对HBase中的数据进行快速定位。
HBase中rowkey可以唯一标识一行记录,在HBase查询的时候,有以下几种方式:
通过get方式,指定rowkey获取唯一一条记录
通过scan方式,设置startRow和stopRow参数进行范围匹配
全表扫描,即直接扫描整张表中所有行记录
HDFS:存储和计算分离的架构
HBase依赖HDFS提供最终的底层数据存储服务,多副本(三副本)保证高可用性 .
HBase表的HDFS目录结构如下
/hbase /data /<Namespace> (集群里的Namespaces) /<Table> (该集群的Tables) /<Region> (该table的Regions) /<ColumnFamily> (该Region的列族) /<StoreFile> (该列族的StoreFiles)
HLog的HDFS目录结构如下
/hbase /WALs /<RegionServer> (RegionServers) /<WAL> (WAL files for the RegionServer)
HMaster在功能上主要负责Table表和HRegion的管理工作,具体包括:
1、管理用户对Table表的增、删、改、查操作;
2、管理HRegion服务器的负载均衡,调整HRegion分布;
3、在HRegion分裂后,负责新HRegion的分配;
4、在HRegion服务器停机后,负责失效HRegion服务器上的HRegion迁移。
每一个Store由一个MemStore和多个StoreFile组成。为什么有MenStore和这么多个StoreFile是因为不可能每次来一条数据就刷新一次到磁盘,频繁写磁盘会造成效率不高且数据不连续。所以一般是在内存中将数据缓存到一定量,然后在一口气flush到磁盘。每次flush会将内存中的数据flush到磁盘,但是内存中会存储多个CF的数据,所以一次flush会生成多个StoreFile,并且有些StoreFile可能很小。
这就是为什么要求HBase的CF不能设置太多,太多的话会频繁刷新磁盘,而且小文件会触发耗时的Compact操作
看完上述内容,你们对HBase理论知识点有哪些有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。