博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hbase的写入和读取过程
阅读量:3953 次
发布时间:2019-05-24

本文共 572 字,大约阅读时间需要 1 分钟。

读取过程:

前提: 什么是meta表?

meta表述hbase系统自带的一个表。

里面存储了hbase用户表的元信息。

元信息为:meta表内记录一行数据是用户表一个region的start key 到endkey的范围。

meta表存在什么地方?

meta表存储在regionserver里。 具体存储在哪个regionserver里?zookeeper知道。

写请求过程

1、Client先访问zookeeper,找到Meta表,并获取Meta表元数据。确定当前将要写入的数据所对应的HRegion和 HRegionServer服务器。

2、Client向该HRegionServer服务器发起写入数据请求。

   2.1 Client先把数据写入到HLog,以防止数据丢失。

    2.2 然后将数据写入到Memstore。

3、Memstore达到阈值,会把Memstore中的数据flush到Storefile中

4、当Storefile越来越多,达到一定数量时,会触发Compact合并操作,将多个小文件合并成一个大文件。

5、Storefile越来越大,Region也会越来越大,达到阈值后,会触发Split操作,变成两个文件。 说明:hbasez 支持数据修改(伪修改),实际上是相同rowkey数据的添加。hbase只显示最后一次的添加。

转载地址:http://dxkzi.baihongyu.com/

你可能感兴趣的文章
shell的dirname $0和readlink用法
查看>>
设计模式——设计模式三大分类以及六大原则
查看>>
Android开发——ListView局部刷新的实现
查看>>
Android开发——ListView的复用机制源码解析
查看>>
Android开发——架构组件LiveData源码解析
查看>>
IDEA常用快捷键整理
查看>>
【Vue】两个元素同一行显示
查看>>
XXL-Job使用
查看>>
如何在SwaggerAPI中添加统一授权认证
查看>>
多线程
查看>>
【Linux】Centos7 常用命令
查看>>
【Redis】Centos7下安装Redis
查看>>
【Redis】Centos7下搭建Redis集群
查看>>
【Redis】Centos7下搭建Redis集群——哨兵模式
查看>>
【Linux】本地ping不同VM虚拟机
查看>>
【SpringCloud】Hystrix
查看>>
乐观锁、悲观锁、公平锁、可重入锁
查看>>
快速阅读——《认知篇》
查看>>
【C#】返回值为DataTable的数据
查看>>
【Asp.net】基本概念
查看>>