
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
数据库架构是大多数后端编程开发程序员需要重点掌握的一个编程技术,而今天我们就通过案例分析来给大家简单分享一下HBase数据库架构包含哪些组成部分。
client
Client包含了访问HBase的接口
维护对应的cache加速HBase的访问,比如caceh的.META元数据信息
zookeeper
实现HMaster的高可用
保存了hbase的元数据信息,是所有的hbase表的寻址入口
对HMaster和HRegionServer实现了监控
HMaster
负责启动的时候分配Region到具体的RegionServer,执行行各种管理操作,比如Region的分割和合并。
维护整个集群的负载均衡
维护集群的元数据信息
发现失效的Region,并将Region分配到正常的HRegionServer上
注:当HMatser宕机后,Hbase仍然可以进行数据的读取和写入,因为读取需要的元数据表hbase:meta的位置存储Zookeeper上,但要进行创建表,修改列族配置以及分割和合并需要HMaster的操作
HRegionServer
负责管理Region.HRegionServer上有一个或者多个Region,我们读写的数据就存储在Region上。
接受client的读写请求。
切分运行过程中变大的Region
HLog
预写日志(Write-aheadlog,WAL),预先写入。当操作到达Region的时候,HBase会先把操作写入到WAL里面。HBase会先把数据放到基于内存实现的Memstore里,等数据达到一定的数量时才刷写到终存储的HFile内。如果此时服务器宕机,内存数据丢失。WAL就可以用于数据恢复。
Region
表的一部分数据。HBase是一个会自动分片的数据库。一个Region就相当于关系型数据库中分区表中的一个分区,或者Redis中的一个分片。
一个Region中包含多个store
每个region都有起始的rowKey和结束的rowKey,代表了它锁存储row范围。
store
一个store存储一个列族,一个列族的列是存储在一起的,可以一次取出来。
memstore
一个sotre里面只有一个memstore
memstore是一块内存区域,数据会先写入到memore进行缓冲,然后在把数据刷到磁盘上。
HFile
在store中有多个HFile,当memstore满了之后HBase就会在HDFS上生成了一个新的HFile,然后MemStore中的内容写到这个HFile中,然后将数据落到HDFS上。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请在707945861群中学习了解。