HBase 的存储结构

2016-10-17 杜亦舒

HBase 中的表常常是超级大表,这么大的表,在 HBase 中是如何存储的呢?

HBase 会对表按行进行切分,划分为多个区域块儿,每个块儿名为 HRegion

HBase 是集群结构,会把这些块儿分散存储到多个服务器中,每个服务器名为HRegionServer

服务器多了,就需要一个管理者 HMaster,负责 HRegion 的分配、HRegionServer 负载均衡的处理 等事务

当某个 HRegion 的大小达到阈值后,便会被分割开来,新的 HRegion 也会由 HMaster 进行分配,放置到合适的 HRegionServer 中

HRegion 是 HBase 中分布式存储的最小单元,但并不是存储的最小单元

HRegion 内部会按照列族进行切分,分为多个 Store,每个 Store 保存一个列族,所以 HRegion 由一个或者多个 Store 组成

每个 Strore 又由一个 MemStore 和 N个 StoreFile 组成

MemStore 是内存存储单元,当内存中数据达到阈值后,写入 StoreFile,StoreFile 以 HFile 格式保存

HBase 数据的物理存储是基于 Hadoop 的分布式存储的

这样,综合起来便形成了 HBase 的整体架构图

HBase 的存储结构相关推荐

  1. 一文讲清HBase的存储结构

    ![image](http://image.spacedong.top/Swan%20River.jpg) ### 前言 `Hbase` 是一个分布式的.多版本.面向列的开源 `KV` 数据库.运行在 ...

  2. HBase 数据存储结构

    在HBase中, 从逻辑上来讲数据大概就长这样: 单从图中的逻辑模型来看, HBase 和 MySQL 的区别就是: 将不同的列归属与同一个列族下 支持多版本数据 这看着感觉也没有那么太大的区别呀, ...

  3. BigData NoSQL —— ApsaraDB HBase数据存储与分析平台概览

    一.引言 时间到了2019年,数据库也发展到了一个新的拐点,有三个明显的趋势: 越来越多的数据库会做云原生(CloudNative),会不断利用新的硬件及云本身的优势打造CloudNative数据库, ...

  4. hbase查看表结构_HBase

    HBase 是一种分布式.可扩展.支持海量数据存储的NoSQL 数据库. 逻辑结构 物理存储结构 数据模型 逻辑上,HBase的数据模型同关系型数据库很类似,数据存储在一张表中,有行有列.HBase的 ...

  5. Cassandra 的数据存储结构——本质是SortedMapRowKey, SortedMapColumnKey, ColumnValue

    Cassandra 的数据存储结构 Cassandra 的数据模型是基于列族(Column Family)的四维或五维模型.它借鉴了 Amazon 的 Dynamo 和 Google's BigTab ...

  6. Hadoop Hbase适合存储哪类数据?(转)

    最适合使用Hbase存储的数据是非常稀疏的数据(非结构化或者半结构化的数据).Hbase之所以擅长存储这类数据,是因为Hbase是column-oriented列导向的存储机制,而我们熟知的RDBMS ...

  7. java对象底层原存储结构图解_图解图库JanusGraph系列-一文知晓“图数据“底层存储结构...

    大家好,我是洋仔,JanusGraph图解系列文章,实时更新~ 图数据库文章总目录: 转载文章请保留以下声明: 一:存储模式 留言或私信我,邀请你加入"图数据库交流"微信群! 1. ...

  8. hbase查看表结构_HBase 与Hive的集成

    HBase与Hive的对比 Hive 数据仓库 Hive的本质其实就相当于将HDFS中已经存储的文件在Mysql中做了一个双射关系,以方便使用HQL去管理查询. 用于数据分析.清洗 Hive适用于离线 ...

  9. 分布式列数据库--理解hbase列存储机制、架构、表结构设计、命令操作

    1. HBase简介 HBase是Hadoop Database的简称,是建立在Hadoop文件系统之上的分布式面向列的数据库. HBase和HDFS HDFS适用于存储大容量文件的分布式文件系统,不 ...

最新文章

  1. android shell hello world,Android Framework 之HelloWorld(三)
  2. string’ does not name a type 错误解析
  3. 进程间通信:共享内存概念及代码
  4. java 保存inputstream_java如何将一个InputStream写入文件啊?
  5. MySQL入门之备份与恢复
  6. 北航数值分析大作业_北航非全日制研究生学习全纪实(2020.9.27)——一周上课感受...
  7. 信息学奥赛C++语言:百钱买百鸡
  8. frameset框架如何使左边页面显示,隐藏?wj-wangjun
  9. 对于placeholder浏览器兼容性(包括密码输入框)解决办法
  10. HTML项目答辩演讲稿,办公楼毕业设计答辩演讲稿(答辩自述)
  11. 一键删除PPT页面内的动画or页面的切换效果总结
  12. html下拉菜单几种方式,html下拉菜单的实现方式
  13. 爬取34万专栏文章:304篇10K+高赞文章汇总
  14. 推荐一些经典的学习书籍
  15. 计算机网络软件系统是什么结构,计算机软件系统的组成是什么?
  16. 厦大C语言上机 1360 算日期
  17. 高德地图(第二篇)测量距离小工具
  18. HttpClient javax.net.ssl.SSLPeerUnverifiedException: Certificate doesn't match 错误解决办法
  19. SWIFT之殇——针对越南先锋银行的黑客攻击技术初探
  20. 数据库高可用架构 - pxc

热门文章

  1. java原型链_深入总结Javascript原型及原型链
  2. 计算机知识应用,计算机知识应用基础复习大纲
  3. 两个同时comet matlab,Matlab讲义 - 图文
  4. java 获取spring对象数组_解析Java中如何获取Spring中配置的bean
  5. python动态显示数据_python中plot实现即时数据动态显示方法
  6. 有关python方面的论文_一篇文章可以带你理解python中的类
  7. Linux文本编辑跳到指定行,Linux 命令每日一练:vi命令
  8. 微型计算机中负数以()存放,130.在微型计算机中,负数常用( )表示。
  9. 如何判断mysql某个数据库某张表是否存在
  10. Canvas3 绘图和重叠