hbase读写数据流程
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读写数据流程相关推荐
- Hadoop之HDFS读写数据流程
Hadoop之HDFS读写数据流程 目录 HDFS写数据流程 HDFS读数据流程 网络拓扑概念 机架感知 1. HDFS写数据流程 HDFS写数据流程,如下图 客户端通过Distributed Fil ...
- hadoop--HDFS的读写数据流程
目录 HDFS中block.packet.chunk的概念 1. 数据块block 2. packet 3. chunk HDFS读数据流程 HDFS写数据流程 HDFS中block.packet.c ...
- Hbase读写数据过程详解(hbase0.96版本之前与hbase0.96版本之后对比)
@Author : Spinach | GHB @Link : http://blog.csdn.net/bocai8058 文章目录 HBase架构图 -ROOT-和.META.结构 -ROOT- ...
- HDFS读写数据流程
1. HDFS读数据流程 1.与NameNode通信查询元数据,找到文件块所在的DataNode服务器 2.挑选一台DataNode(网络拓扑上的就近原则,如果都一样,则随机挑选一台DataNode) ...
- Hbase读写数据的原理解析
目录 1.体系图 写数据的流程(参考上图): 读数据的流程(参考下图): 目录 1.体系图 针对上图的一些解释: 这里面数据分区(region)存储是为了查询方便(即因为是集群所以能充分利用磁盘的IO ...
- 服务端设置忽略更新_深入理解Kafka服务端之日志对象的读写数据流程
一.场景分析 在前面几篇分析过,Log类用于管理服务端日志相关的各种操作,如: 日志段管理:滚动生成新日志段.组织并管理分区下的所有日志段等 关键偏移量管理:如LogStartOffset.LEO等 ...
- HBase读写性能调优(一)
目录 1.HBase关键参数配置 1.1 写参数调整 1.1.1客户端调优 1.1.2 使用PutList方式提交请求 1.2 Memstore相关 1.2.1 根据 memstore 大小flush ...
- hbase 读写过程
Hbase在生态系统中的位置 Hbase存储的逻辑视图 Hbase的存储格式 Hbase写数据流程 Hbase快速响应数据 Hbase在生态系统中的位置 HBase位于结构化存储层,Hadoop HD ...
- HBase读写流程、flush、文件合并、region拆分
HBase存储原理(架构) HBase依赖于Zookeeper和Hadoop的,所以在启动HBase前需要启动Zookeeper和Hadoop. HMaster用于管理整个HBase集群,即管理每个H ...
最新文章
- python表白-python3实现表白神器
- Python中字符串使用方法总结(学习笔记)
- 提高你开发效率的十五个 Visual Studio 使用技巧
- 经典排序算法(12)——总结
- 复习者-Java EE 7概览
- 【TensorFlow】TensorFlow从浅入深系列之三 -- 教你如何对MNIST手写识别
- 性能优化挑战重重,鲲鹏 HPC 如何突破算力桎梏?
- linux设备驱动归纳总结(八):1.总线、设备和驱动【转】
- 我的第一个项目(员工绩效管理系统 步骤超级详细---未完待更...)
- dt100g3什么意思_酷黑滑盖风 金士顿DT100G3优盘评测
- 《老路用得上的商学课1—5》成本
- Python计算机视觉 图像扭曲(仿射扭曲)
- vue开发微信公众号调用相机和相册(上传到自己的服务器)
- Vivado安装—Xilinx design tool already exists for 2019.1,specify a different program program group entr
- Linux服务器配置静态IP地址方法
- win10 1073linux密码,Linux Bash on Win10 忘记密码解决
- 第1关:Series数据选择
- 攻防世界misc——misc1
- C语言中求两数最大公约数的三种方法
- c# 不可访问 因为它受保护级别限制
热门文章
- 多地GitHub账号使用受限;Python之父考虑重构解释器;62岁程序员埋逻辑炸弹 | 开发者周刊...
- 程序员版的「倚天屠龙」,看完泪奔!
- AI 人才遭疯抢,Google 为 22 岁印度毕业生开出 1000w+ 年薪
- 初学者应该如何开启自己的编程生涯?,nginx架构图
- 随机密码生成python_让“全家福”更加随机 —— 自动生成照片布局之Python实现...
- python实时监控文件目录_c#教程之c#使用filesystemwatcher实时监控文件目录的
- java jsp 图片上传_jsp 图片上传代码
- PHP自定义查询,php – 实体字段类型自定义查询参数
- asp.net mvc4 mysql_ASP.NET MVC4 with MySQL: Configuration Error (MySql.Web.v20)
- 用python的turtle画正方形内切圆_Python 用turtle实现用正方形画圆的例子