学习总结二十三:深入学习hbase数据库

来源:互联网 发布:海城市教育局网通知 编辑:程序博客网 时间:2024/06/05 12:40

1.hbase工作机制

  1.1写路径 新增和修改流程是一样的,都要创建put象,定位到坐标。写入操作时,默认方式是写到两个地方,一个是Hlog(预写式日志),另外一个是MemStore(内存缓冲区),当这两个地方确认时,才真正认为写操作完成。Hbase数据在写入硬盘之前会先把数据存放到MemStore累积,当MemStore填满后,其中的数据会刷写到硬盘,生成一个HFile文件,HFile是Hbase的底层存储格式,对应于列簇,一个列簇有多个HFile文件,一个HFile不能存储多个列簇的数据,在集群节点上,每个列簇有一个MemStore。

   Hbase集群中每一台机器都有一个WAL,它的作用预防Hbase服务器宕机时,预防MemStore中的数据丢失,Hbase会自动通过内部机制恢复数据。

 1.2读路径  Hbase读操作使用了LRU(最近最少使用算法)缓存技术,也叫BlockCache技术,和MemStore存储在同一个JVM中,撑握BlockCache是优化Hbase的重要部分。block是Hbase从硬盘完成一次读写数据单位。HFile物理存储形式是block序列外加block索引。block默认大小是64M。

2.hbase的region块大小,是由hbase-site.xml文件中的hbase.hregion.max.filesize决定。

   MemStore的大小,是由hbase-site.xml文件中的hbase.hregion.memstore.flush决定。

3.hbase两个特殊表-ROOT-和.META.说明

   -ROOT-只有一个region块

   .META.可以切割多个region块,里面保存了用户表的入口地址

用户访问hbase中某行数据时首先访问zookeeper然后访问-ROO- 然后指向.META.再找到regionserver中的某行数据所在的region块


0 0
原创粉丝点击