【大数据学习 | HBASE】hbase的原理与组成结构

1. hbase的简述

hbase作为google的大数据三篇比较重要的论文之一,它的起源叫做bigtable,意思非常简单就是大表的意思,是一个分布式存储很多数据的大型表格系统,它是对于hdfs中的数据不能直观查询和随机读写的病痛的一个补充和完善。

hdfs中的数据是整存整去的数据体,按照128M进行拆分然后分布式存储,我们之前学过这个组件,hdfs能够很好的保证数据的稳定性和读取存储的高性能,同时具有很强的可靠性,但是这个数据只能整体的存储和读取使用,如果我们存储一堆重要的文件信息,想要读取其中某一条数据,或者修改其中的一个值或者删除一行内容是完全做不到的,比如读取我们需要整体进行读取,然后过滤出来我们想要的数据,假如数据是1T大小,我们只想要一行内容也需要将1T全部读取出来然后进行过滤,这个是非常低性能的,完全不能保证在大数据场景中的实时效果,而且完全不支持修改数据,想要修改数据必须要将数据全部都读取出来然后修改整个数据然后在重新存储到hdfs中,所以hdfs中的数据更像是一个仓库,里面非常粗粒度不能保证灵活性,至此hbase出现了。

hbase并不提供数据存储,而是借助于hdfs进行数据存储,在这个基础之上实现了上层架构的一个管理和封装,它更像是一个给予内存的hdfs的管理组件,类比生活中更像是一个售卖柜台和一个商场的仓库的关系,柜台更加灵活的进行商品的售卖和购买,仓库中只是作为大量商品的存储,比较重量级和固定。

2. hbase的原理

那么hbase是怎么进行hdfs上层管理的呢???

hbase首先是hdfs上层的一个管理层,hbase自身是带有元数据信息的,用来记录我们在hbase中创建了多少个表,并且每个表存在多少个列,这样就可以实现表格级别的使用和管理,并且会将表格的数据放入到hdfs中存储,为了方便查询和管理会按照表的列进行文件的存储和分类,比如info列就会存储到一个单独的hfile文件中,但是hbase中存储的数据会非常的多,那么一个列单独保存在一个hfile中,也是难管理和查询的,所以按照行级别进行数据的分割存储到不同的文件中,这样可以非常快速的检索出来数据,但是不能够解决掉数据的修改问题,因为底层是hdfs的存储,这样是没有办法灵活修改和变化的,这个时候hbase引入了一块内存区域会将数据的修改和插入放入到内存中,一旦缓存区中的数据满了,那么就会将数据存储到hdfs中并且对数据进行修改和合并操作,能够保证灵活的数据修改,并且通过图中我们可以发现数据是按照列为一个整体进行存储的,所以查询效率会更高,大数据场景中存储的数据会存在很多列,那么我们只需要其中的两列就可以直接去相应的hfile中读取数据,不需要全部的hfile文件都扫描读取,从而实现灵活的数据随机读写。

3. hbase的组成结构

hbase中的数据是存储到hdfs中的,但是hbase要管理hdfs中数据的元数据信息,并且对插入和修改的数据进行处理,在大数据场景中首先数据量会很大,而且表也会非常的多,那么hbase管理起来压力也会非常的大,所以hbase也是分布式的,多个机器共同分摊表数据的管理压力。

所以hbase中会存在很多个节点组件进行管理,首当其冲的就是hregionserver管理每个节点的数据,每个列的数据存储和hfile文件的管理,一般这些节点都会和hdfs的datanode节点部署到一起,hmaster主要是通过zookeeper对多个regionserver进行管理,并且管理整个集群中的元数据信息文件,为了防止hbase的Hmaster主节点的单机故障问题,使用zookeeper进行协调选举服务保证多个hmaster下的集群稳定问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1354.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

在Zetero中调用腾讯云API的输入密钥的问题

也是使用了Translate插件了,但是需要调用腾讯云翻译,一直没成功。 第一步就是,按照这上面方法做:百度、阿里、腾讯、有道各平台翻译API申请教程 之后就是:Zotero PDF translat翻译:申请腾讯翻译接口 主要是…

再探“构造函数”(2)友元and内部类

文章目录 一. 友元‘全局函数’作友元‘成员函数’作友元‘类‘作友元 内部类 一. 友元 何时会用到友元呢? 当想让(类外面的某个函数/其它的类)访问 某个类里面的(私有或保护的)内容时,可以选择使用友元。 友元提供了一种突破&a…

(新)docker desktop镜像迁移

背景 docker desktop默认安装在系统c盘,久而久之随着镜像拉取的越多,系统盘占用则越来越大。现有的网络资源关于docker desktop迁移都是旧版本的,即4.30版本之前。在4.30版本及以后,在运行wsl -l -v时只有docker-desktop只有这一项…

19种RAG结构

文章目录 什么是RAG19种RAG总览Standard RAGCorrective RAG,纠错型RAGSpeculative RAG,推测型RAGFusion RAG,融合型RAGAgentic RAG,智能代理型RAGSelf RAG,自增强型RAGGraph RAG,图谱RAGAdaptive RAGREALM:…

flink 内存配置(一):设置Flink进程内存

Apache Flink通过严格控制各个组件的内存使用,在JVM之上提供了高效的工作负载。虽然Flink社区努力为所有配置提供合理的默认值,但由于用户部署在Flink上的应用范围很广,这并不总是可行的。为了给用户提供最大的生产价值,Flink支持…

ssm037物流管理系统设计与实现+jsp(论文+源码)_kaic

毕 业 设 计(论 文) 题目:物流管理系统设计与实现 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本物流管理系统就是在这…

扩展卡尔曼滤波(EKF)的限制

当f (x)或h (x)接近线性时,EKF在许多实际问题上表现良好。然而,它在高度非线性的区域中失败了 EKF的概念是基于模型的线性化而提出的。EKF估计包括线性化误差。线性化误差取决于相对于传播的不确定度的函数的非线性度,如下图所示。 图13.13…

【ChatGPT】搜索趋势分析

【ChatGPT】搜索趋势分析 为了分析 ChatGPT 在过去一年的流行趋势,我们可以查看 Google Trends 的数据 安装依赖pytrends pip install pytrends运行以下 Python 脚本 import pandas as pd import matplotlib.pyplot as plt from pytrends.request import TrendR…

ctfshow——web(总结持续更新)

文章目录 1、基础知识部分2、php伪协议2.1 php://input协议2.2 data://text/plain协议 3、webshell连接工具3.1 蚁剑连接一句话木马 4、各个web中间件重要文件路径4.1 Nginx 5、sqlmap使用6、php特性6.1 md5加密漏洞 7、TOP 10漏洞7.1 SQL注入 1、基础知识部分 识别base64编码…

未来已来,软件行业的下一个风口在哪里?

引言 随着技术的迅猛发展,软件行业正在不断迎来新的机遇和挑战。在这个充满活力和变革的时代,企业和开发者们纷纷寻找下一个可能改变游戏规则的风口。那么,软件行业的下一个风口在哪里?让我们一同探索未来的潜在趋势与创新方向。 …

Python批量查找包含多个关键词的PDF文件

在信息爆炸的时代,数据管理变得愈发重要。U盘作为一种便携式存储设备,常常承载着我们大量的个人和工作数据。然而,随着文件数量的增加,在U盘中快速找到特定文件常常成为一个令人头疼的难题。我们通常可以采用everything来快速查找…

python网络爬虫基础:requests库的应用

Requests 库是在 urllib 的基础上开发而来,相比之下更加简洁优美,在编写爬虫程序时应用较为广泛。注意,本文更偏于程序实现,具体各个字段、参数的解释详见本专栏其他博文(后续看情况更新)。闲话少说&#x…

新能源汽车火灾应急处置程序

摘要:新能源汽车在人们的日常生活中被广泛应用,但其消防安全问题也逐渐凸显。本文分析了新能源汽车的起火原因、燃烧危害性,并着重阐述了新能源汽车发生火灾后消防应急处置程序及应对措施等。 关键词:新能源汽车;火灾…

双十一买什么?便宜又好用的数码好物分享

​每年双十一大促期间,许多平时想买但又感觉有些贵的数码好物都会降至最低价格,此时入手岂不美哉,还犹豫就只能等明年了。也有很多小伙伴不知道该入手些什么数码好物,接下来我就给大家盘点几款整体使用下来还不错的数码好物。 长…

【矩阵理论常见符号说明】

矩阵理论常见符号说明 参考链接 【矩阵理论/刘启明主编. 北京:国防出版社】

11.Node.js API接口

八、API接口 8.1 json-server工具 1)安装json-server npm i -g json-server2)示例 //students.json {"student":[{"id":1,"name":"sally","age":18,"gender":"女"},{"id":2,&…

Linux与Windows中的流量抓取工具:wireshark与tcpdump

1. wireshark(windows上主要用到的流量分析工具) 下载安装,安装到本地(安装到虚拟机可能抓不到包) 下载地址 1.1. 数据报文字段含义 source:源IP destination:目的IP protocol:协…

DevExpress中文教程 - 如何使用AI模型检查HTML编辑中的语法?

DevExpress .NET MAUI多平台应用UI组件库提供了用于Android和iOS移动开发的高性能UI组件,该组件库包括数据网格、图表、调度程序、数据编辑器、CollectionView和选项卡组件等。 目前许多开发人员正在寻找多种方法将AI添加到解决方案中(这通常比想象的要…

Django+Vue智慧分析居家养老系统统的设计与实现

目录 1 项目介绍2 项目截图3 核心代码3.1 需要的环境3.2 Django接口层3.3 实体类3.4 config.ini3.5 启动类3.5 Vue 4 数据库表设计5 文档参考6 计算机毕设选题推荐7 源码获取 1 项目介绍 博主个人介绍:CSDN认证博客专家,CSDN平台Java领域优质创作者&…

400G光模块的3种封装(QSFP-DD、OSFP、CFP8)

400G光模块封装的趋势 光模块封装形式具有三个共同特点:外形小巧、功耗低、可与所有系统供应商互操作。了解 100G光模块市场的发展将有助于我们理解400G技术的引入。服务提供商需要可插拔光模块来实现长距离和专用技术,例如相干检测。数据中心团队需要一…