HBase 的特点是什么
分析&回答
HBase 基本特点
- HBase是一个分布式的、面向列的开源数据库存储系统,具有高可靠性、高性能和可伸缩性,它可以处理分布在数千台通用服务器上的PB级的海量数据。
- HBase不同于一般的关系型数据库,它是一个适合于非结构化数据存储的数据库。HBase不限制存储的数据的种类,允许动态的、灵活的数据模型。
- BigTable的底层是通过GFS来存储数据,而HBase对应的则是通过HDFS(Hadoop分布式文件系统)来存储数据的。
- hbase是主从架构。hmaster作为主节点,hregionserver作为从节点。
- 基于的表包含rowkey,时间戳,和列族。新写入数据时,时间戳更新,同时可以查询到以前的版本.
- Hbase为null的记录不会被存储.
- 多版本号数据,依据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 的特点是什么相关推荐
- JAVA_基础部分_综合篇
JVM (1) 基本概念: JVM是可运行Java代码的假想计算机 ,包括一套字节码指令集.一组寄存器.一个栈.一个垃圾回收,堆 和 一个存储方法域.JVM 是运行在操作系统之上的,它与硬件没有直接的 ...
- 2021年大数据HBase(十七):❤️HBase的360度全面调优❤️
全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录
- 2021年大数据HBase(十六):HBase的协处理器(Coprocessor)
全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 HBase的协处理器(Coprocessor) 一.起源 二 ...
- 2021年大数据HBase(十五):HBase的Bulk Load批量加载操作
全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 HBase的Bulk Load批量加载操作 一.Bulk L ...
- 2021年大数据HBase(十四):HBase的原理及其相关的工作机制
全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 HBase的原理及其相关的工作机制 一.HBase的flus ...
- 2021年大数据HBase(十三):HBase读取和存储数据的流程
全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 HBase读取和存储数据的流程 一.HBase读取数据的流程 ...
- 2021年大数据HBase(十二):Apache Phoenix 二级索引
全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 前言 Apache Phoenix 二级索引 一.索引分类 ...
- 2021年大数据HBase(十一):Apache Phoenix的视图操作
全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 前言 Apache Phoenix的视图操作 一.应用场景 ...
- 2021年大数据HBase(十):Apache Phoenix的基本入门操作
全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 前言 Apache Phoenix的基本入门操作 一.Pho ...
- 2021年大数据HBase(九):Apache Phoenix的安装
全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 前言 系列历史文章 安装Phoenix 一.下载 二.安装 1.上传安装包 ...
最新文章
- 二叉树镜像,交换左右子树
- 德扑 AI 之父解答 Libratus 的13个疑问:没有用到任何深度学习,DL 远非 AI 的全部
- 来来来,个人blog第一弹——WordPress的Linux运行环境
- MyBatis源码骨架分析
- go 实现 kafka 消息发送、接收
- 004-安装CentOS7后需要的操作
- 行星轨迹制作_FLASH做的八大行星的轨道图的教学
- VTK:图片之DotProduct
- 大数据WEB阶段(十八)数据库事务
- python 音速_webpack多页应用架构系列(十一):预打包Dll,实现webpack音速编译
- jQuery——入门(四)JQuery 事件
- TIM SWEENEY:引擎及图形学的未来
- Linux操作系统中的IP配置
- python 异常学习2
- Java基础(二):面向对象
- ubuntu播放文件需要MPEG-4 AAC解码器
- css居中显示代码怎么写,div居中代码 DIV水平居中显示CSS代码
- 014吸管工具,颜色取样器工具,标尺工具和注释工具
- 群贤路附近哪有计算机学校,袍江,镜湖,皋埠,富盛…绍兴各镇学校2017年施教区划定!你家孩子该在哪就读?...
- 小众创客的狂欢——树莓派