1.hbase写数据速度极高,吞吐量极大,主要归因于写入数据是先写入memstore内存的操作(当然这里还有wal顺序写日志防止机器崩溃),只有等到内存满了。才会批量顺序flush数据到磁盘,这样就避免了磁盘的随机io,整个写入流程如下:
client --> zk -->root表所在的rs服务器–>通过root表查找到meta元数据表后根据要写入的数据所在的位置从meta元数据表中查找到写入数据对应的rs服务器–>数据写入rs服务器的memstore内存

2.hbase读性能: 由于hbase读取数据的时候需要从多个有序的文件(内存memstore+磁盘hfile)从查找数据,所以hbase的读数据性能比较有限,不过hbase内部做了一些优化,如使用blockcache缓存hfile的数据,以及合并多个小的hfile小文件成一个大的hfile文件等,读流程如下:
client --> zk -->root表所在的rs服务器–>通过root表查找到meta元数据表后根据要读取的数据所在的位置从meta元数据表中查找到对应数据所在的rs服务器–>从rs服务器的region中(memstore+多个hfile文件)结合中读取数据
3.删除数据是hbase只是做了一个删除的标志,真正的数据还存储在磁盘上,只是读取数据返回的时候过滤掉被删除的数据,数据真正删除是在compact多个小文件成一个大文件的时候.

参考文章:
https://www.cnblogs.com/sabertobih/p/14001268.html

hbase读写数据流程相关推荐

  1. Hadoop之HDFS读写数据流程

    Hadoop之HDFS读写数据流程 目录 HDFS写数据流程 HDFS读数据流程 网络拓扑概念 机架感知 1. HDFS写数据流程 HDFS写数据流程,如下图 客户端通过Distributed Fil ...

  2. hadoop--HDFS的读写数据流程

    目录 HDFS中block.packet.chunk的概念 1. 数据块block 2. packet 3. chunk HDFS读数据流程 HDFS写数据流程 HDFS中block.packet.c ...

  3. Hbase读写数据过程详解(hbase0.96版本之前与hbase0.96版本之后对比)

    @Author : Spinach | GHB @Link : http://blog.csdn.net/bocai8058 文章目录 HBase架构图 -ROOT-和.META.结构 -ROOT- ...

  4. HDFS读写数据流程

    1. HDFS读数据流程 1.与NameNode通信查询元数据,找到文件块所在的DataNode服务器 2.挑选一台DataNode(网络拓扑上的就近原则,如果都一样,则随机挑选一台DataNode) ...

  5. Hbase读写数据的原理解析

    目录 1.体系图 写数据的流程(参考上图): 读数据的流程(参考下图): 目录 1.体系图 针对上图的一些解释: 这里面数据分区(region)存储是为了查询方便(即因为是集群所以能充分利用磁盘的IO ...

  6. 服务端设置忽略更新_深入理解Kafka服务端之日志对象的读写数据流程

    一.场景分析 在前面几篇分析过,Log类用于管理服务端日志相关的各种操作,如: 日志段管理:滚动生成新日志段.组织并管理分区下的所有日志段等 关键偏移量管理:如LogStartOffset.LEO等 ...

  7. HBase读写性能调优(一)

    目录 1.HBase关键参数配置 1.1 写参数调整 1.1.1客户端调优 1.1.2 使用PutList方式提交请求 1.2 Memstore相关 1.2.1 根据 memstore 大小flush ...

  8. hbase 读写过程

    Hbase在生态系统中的位置 Hbase存储的逻辑视图 Hbase的存储格式 Hbase写数据流程 Hbase快速响应数据 Hbase在生态系统中的位置 HBase位于结构化存储层,Hadoop HD ...

  9. HBase读写流程、flush、文件合并、region拆分

    HBase存储原理(架构) HBase依赖于Zookeeper和Hadoop的,所以在启动HBase前需要启动Zookeeper和Hadoop. HMaster用于管理整个HBase集群,即管理每个H ...

最新文章

  1. python表白-python3实现表白神器
  2. Python中字符串使用方法总结(学习笔记)
  3. 提高你开发效率的十五个 Visual Studio 使用技巧
  4. 经典排序算法(12)——总结
  5. 复习者-Java EE 7概览
  6. 【TensorFlow】TensorFlow从浅入深系列之三 -- 教你如何对MNIST手写识别
  7. 性能优化挑战重重,鲲鹏 HPC 如何突破算力桎梏?
  8. linux设备驱动归纳总结(八):1.总线、设备和驱动【转】
  9. 我的第一个项目(员工绩效管理系统 步骤超级详细---未完待更...)
  10. dt100g3什么意思_酷黑滑盖风 金士顿DT100G3优盘评测
  11. 《老路用得上的商学课1—5》成本
  12. Python计算机视觉 图像扭曲(仿射扭曲)
  13. vue开发微信公众号调用相机和相册(上传到自己的服务器)
  14. Vivado安装—Xilinx design tool already exists for 2019.1,specify a different program program group entr
  15. Linux服务器配置静态IP地址方法
  16. win10 1073linux密码,Linux Bash on Win10 忘记密码解决
  17. 第1关:Series数据选择
  18. 攻防世界misc——misc1
  19. C语言中求两数最大公约数的三种方法
  20. c# 不可访问 因为它受保护级别限制

热门文章

  1. 多地GitHub账号使用受限;Python之父考虑重构解释器;62岁程序员埋逻辑炸弹 | 开发者周刊...
  2. 程序员版的「倚天屠龙」,看完泪奔!
  3. AI 人才遭疯抢,Google 为 22 岁印度毕业生开出 1000w+ 年薪
  4. 初学者应该如何开启自己的编程生涯?,nginx架构图
  5. 随机密码生成python_让“全家福”更加随机 —— 自动生成照片布局之Python实现...
  6. python实时监控文件目录_c#教程之c#使用filesystemwatcher实时监控文件目录的
  7. java jsp 图片上传_jsp 图片上传代码
  8. PHP自定义查询,php – 实体字段类型自定义查询参数
  9. asp.net mvc4 mysql_ASP.NET MVC4 with MySQL: Configuration Error (MySql.Web.v20)
  10. 用python的turtle画正方形内切圆_Python 用turtle实现用正方形画圆的例子