分析&回答


HBase 基本特点

  1. HBase是一个分布式的、面向列的开源数据库存储系统,具有高可靠性高性能可伸缩性,它可以处理分布在数千台通用服务器上的PB级的海量数据。
  2. HBase不同于一般的关系型数据库,它是一个适合于非结构化数据存储的数据库。HBase不限制存储的数据的种类,允许动态的、灵活的数据模型。
  3. BigTable的底层是通过GFS来存储数据,而HBase对应的则是通过HDFS(Hadoop分布式文件系统)来存储数据的。
  4. hbase是主从架构。hmaster作为主节点,hregionserver作为从节点。
  5. 基于的表包含rowkey,时间戳,和列族。新写入数据时,时间戳更新,同时可以查询到以前的版本.
  6. Hbase为null的记录不会被存储.
  7. 多版本号数据,依据Row key和Column key定位到的Value能够有随意数量的版本号值,因此对于须要存储变动历史记录的数据,用HBase是很方便的。比方某个用户的Address变更,用户的Address变更记录也许也是具有研究意义的。

HBase 系统架构图

HBase 数据模型

组成部件说明:

  • Row Key:     Table主键 行键 Table中记录按照Row Key排序
  • Timestamp:   每次对数据操作对应的时间戳,也即数据的version number
  • Column Family:  列簇,一个table在水平方向有一个或者多个列簇,列簇可由任意多个Column组成,列簇支持动态扩展,无须预定义数量及类型,二进制存储,用户需自行进行类型转换

Table&Region

  • Table随着记录增多不断变大,会自动分裂成多份Splits,成为Regions
  • 一个region由[startkey,endkey)表示
  • 不同region会被Master分配给相应的RegionServer进行管理

两张特殊表:-ROOT- & .META.

  • .META.   记录用户表的Region信息,同时,.META.也可以有多个region
  • -ROOT-   记录.META.表的Region信息,但是,-ROOT-只有一个region
  • Zookeeper中记录了-ROOT-表的location
  • 客户端访问数据的流程:
  • Client -> Zookeeper -> -ROOT- -> .META. -> 用户数据表
  • 多次网络操作,不过client端有cache缓存

反思&扩展


HBase与传统关系型数据库(如MySQL)的区别

  • 数据类型:没有数据类型,都是字节数组(有一个工具类Bytes,将java对象序列化为字节数组)。
  • 数据操作:HBase只有很简单的插入、查询、删除、清空等操作,表和表之间是分离的,没有复杂的表和表之间的关系,而传统数据库通常有各式各样的函数和连接操作。
  • 存储模式:Hbase适合于非结构化数据存储,基于列存储而不是行。
  • 数据维护:HBase的更新操作不应该叫更新,它实际上是插入了新的数据,而传统数据库是替换修改
  • 时间版本:Hbase数据写入cell时,还会附带时间戳,默认为数据写入时RegionServer的时间,但是也可以指定一个不同的时间。数据可以有多个版本。
  • 可伸缩性,Hbase这类分布式数据库就是为了这个目的而开发出来的,所以它能够轻松增加或减少硬件的数量,并且对错误的兼容性比较高。而传统数据库通常需要增加中间层才能实现类似的功能

为了大家更加方便的刷题,我们对文章进行了分类和整理,免费为大家提供刷题服务。程序员不欺骗程序员,赶紧扫码小程序刷起来!

为了一站式解决面者刷题问题,部分内容可能存在摘录情况,如有侵权辛苦您留言联系我们,我们会删除文章或添加引用文案,Thanks!

HBase 的特点是什么相关推荐

  1. JAVA_基础部分_综合篇

    JVM (1) 基本概念: JVM是可运行Java代码的假想计算机 ,包括一套字节码指令集.一组寄存器.一个栈.一个垃圾回收,堆 和 一个存储方法域.JVM 是运行在操作系统之上的,它与硬件没有直接的 ...

  2. 2021年大数据HBase(十七):❤️HBase的360度全面调优❤️

    全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录

  3. 2021年大数据HBase(十六):HBase的协处理器(Coprocessor)

    全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 HBase的协处理器(Coprocessor) 一.起源 二 ...

  4. 2021年大数据HBase(十五):HBase的Bulk Load批量加载操作

    全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 HBase的Bulk Load批量加载操作 一.Bulk L ...

  5. 2021年大数据HBase(十四):HBase的原理及其相关的工作机制

    全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 HBase的原理及其相关的工作机制 一.HBase的flus ...

  6. 2021年大数据HBase(十三):HBase读取和存储数据的流程

    全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 HBase读取和存储数据的流程 一.HBase读取数据的流程 ...

  7. 2021年大数据HBase(十二):Apache Phoenix 二级索引

    全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 前言 Apache Phoenix 二级索引 一.索引分类 ...

  8. 2021年大数据HBase(十一):Apache Phoenix的视图操作

    全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 前言 Apache Phoenix的视图操作 一.应用场景 ...

  9. 2021年大数据HBase(十):Apache Phoenix的基本入门操作

    全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 前言 Apache Phoenix的基本入门操作 一.Pho ...

  10. 2021年大数据HBase(九):Apache Phoenix的安装

    全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 前言 系列历史文章 安装Phoenix 一.下载 二.安装 1.上传安装包 ...

最新文章

  1. 二叉树镜像,交换左右子树
  2. 德扑 AI 之父解答 Libratus 的13个疑问:没有用到任何深度学习,DL 远非 AI 的全部
  3. 来来来,个人blog第一弹——WordPress的Linux运行环境
  4. MyBatis源码骨架分析
  5. go 实现 kafka 消息发送、接收
  6. 004-安装CentOS7后需要的操作
  7. 行星轨迹制作_FLASH做的八大行星的轨道图的教学
  8. VTK:图片之DotProduct
  9. 大数据WEB阶段(十八)数据库事务
  10. python 音速_webpack多页应用架构系列(十一):预打包Dll,实现webpack音速编译
  11. jQuery——入门(四)JQuery 事件
  12. TIM SWEENEY:引擎及图形学的未来
  13. Linux操作系统中的IP配置
  14. python 异常学习2
  15. Java基础(二):面向对象
  16. ubuntu播放文件需要MPEG-4 AAC解码器
  17. css居中显示代码怎么写,div居中代码 DIV水平居中显示CSS代码
  18. 014吸管工具,颜色取样器工具,标尺工具和注释工具
  19. 群贤路附近哪有计算机学校,袍江,镜湖,皋埠,富盛…绍兴各镇学校2017年施教区划定!你家孩子该在哪就读?...
  20. 小众创客的狂欢——树莓派

热门文章

  1. 使用Scala语言编写Spark应用程序实现数据去重
  2. 详解Liunx中less命令:查看日志,搜索关键字
  3. 电影院选座(最优位置)问题
  4. 率土之滨 服务器维护 派兵,《率土之滨》新赛季开启规则及奖励活动
  5. mac无法充电解决方法
  6. 关于单片机--蜂鸣器输出音调设置
  7. 腾讯音乐事业群 Android 移动客户端面经,成功斩获offer!
  8. 浅谈搜索引擎技术原理与架构
  9. ROC曲线绘制原理即AUC的意义详解
  10. 优秀程序员应该注意的几件事情