当前位置: 首页 > news >正文

Hbase 介绍

Hbase 简介

        Hbase 是一个开源非关系型分布式数据库,运用于HDFS文件系统之上,可以容错地存储海量稀疏的数据。Hbase是一个高可靠高性能面向列可伸缩实时读写的分布式数据库,主要用来存储非结构化和半结构化的松散数据 

        Hbase的目标是处理非常庞大的表,可以通过水平扩展的方式,利用廉价计算机集群处理由超过10亿行数据和数百万列元素组成的数据表。

重点:

Hbase 是基于存储的,主要用来存储非结构化和半结构化的松散数据,适合大数据的实时查询;

利用HDFS作可靠的底层文件存储系统

利用MapReduce高性能的处理Hbase中的海量数据

利用Zookeeper作为其分布式协同服务稳定服务Failover(故障转移)机制

Hbase 特点

1. Hbase 有四个维度来确定某个具体的值,行间,列族,列名 ,时间戳

2. 强一致性

3. 多维稀疏列表

4. 稀疏多维排序map

        BigTable 本质上是一个Map结构数据库,Hbase亦然,也是由一系列的KV构成的。然而Hbase这个Map系统却有很多的限定词--稀疏的分布式的排序的持久的多维的。Hbase Map和普通的Map 不一样,Hbase Map的Key是复合键,由rowKey,column family,qualif ier,type 以及timestamp组成,value即为cell的值。

        下面我们来介绍一下 多维、稀疏、排序等关键词:

          (1)多维:这个特征比较容易理解。Hbase中Map与普通的Map最大的不同在于,key是一个复合数据结构,由多维元素构成,包括rowkey,columnfamily,qualifier,type以及timestamp

 

          (2)稀疏:稀疏性是Hbase一个突出的特点。从上面这个图可以看出一行上是有空值。在其他的数据库中,会对这些空值进行null的填充,而对于Hbase,空值是不需要进行任何填充。这个特性很重要,因为Hbase的理论上是可以无限扩展的,对于成百万列的表来说,进行填充null的策略,势必会导致造成大量空间浪费。因此稀疏性是Hbase的可以无限拓展重要条件

          (3)排序:构成Hbase的KV在同一个文件中都是有序的,但规则并不是仅仅按照rowkey排序,而是按照KV中的key进行排序--先比较rowkey小的在前,rowkey相同在比较column,即column family:qualifier小在前column还相同,再比较timestamp,即版本信息,timestamp的排在前面

          (4)分布式:很容易理解,构成Hbase的所有Map并不集中在某台机器上,而是分布整个集群中。

5. HDFS压缩存储

6. 自动水平扩展

7.服务器自动调整平衡

Hbase 架构各个角色的功能

一.Client

        Client包含了访问Hbase的接口,另外Client还维护了对应的 cache来加速Hbase的访问,比如cache的.META.元数据信息。

二.Zookeeper

        Hbase通过Zookeeper来做master高可用,regionServer的监控,元数据的入口以及集群

配置的维护。具体如下

                1.通过Zookeeper来保证集群中只有1个master在运行,如果master异常,会通过竞争机制产生新的master提供服务;

                2.通过Zookeeper来监控RegionServer的状态,当RegionServer有异常的时候,通过回调的形式通知Master RegionServer上下限的信息;

                3.通过Zookeeper存储元数据的统一入口地址;

三.Hmaster

        master结点主要职责如下:

                1.为RegionServer分配Region

                2.管理整个集群的负载均衡

                3.管理集群的元数据信息

                4.当发现失效的Region,并将失效的Region分配到正常的RegionServer

                5.放RegionServer失效的时候,协对应的Hlog进行拆分

四.HregionServer

        HregionServer直接对接用户的读写请求,“干活”节点。功能如下:

                1.管理master为其分配的Region

                2.处理来自客户端的读写请求

                3.负责和底层HDFS交换,存储数据到HDFS

                4.负责Region变大以后的拆分

                5.负责Storefile的合并工作

五.HDFS

        HDFS为Hbase提供最终的底层存储服务,同时提供了Hbase高可用,功能如下:

                1.提供元数据和表数据的底层分布式存储服务

                2.数据多副本,保证的高可靠和高可用性

相关文章:

Hbase 介绍

Hbase 简介 Hbase 是一个开源的非关系型的分布式数据库,运用于HDFS文件系统之上,可以容错地存储海量稀疏的数据。Hbase是一个高可靠、高性能、面向列、可伸缩、实时读写的分布式数据库,主要用来存储非结构化和半结构化的松散数据 。 Hbase的…...

金三银四没把握住,凉了...

大家好,前两天跟朋友感慨,今年的铜三铁四、裁员、疫情导致好多人都没拿到offer!现在互联网大厂终于迎来了应届生集中求职季。 对于想跳槽的软件测试人来说,绝对是个找工作的好时机。这时候,很多高薪技术岗、管理岗的缺口和市场需…...

模拟axios请求的数据Mockjs在vue3的使用

1.安装mockjs和axios cnpm install mockjs -Scnpm install axios -S目录结构(这里的演示只用到这四个文件) 2.创建模拟返回的数据(src/mockjs/http.js),放入以下内容 //模拟的请求数据 export default {getData: () > {return {code: 200,tableData: [{id: "01",…...

Elasticsearch:索引状态是红色还是黄色?为什么?

在我之前文章 “Elasticsearch:如何调试集群状态 - 定位错误信息” 中,我有详细介绍如何调试集群状态。在今天的文章中,我将详细介绍如何故障排除和修复索引状态。 Elasticsearch 是一个伟大而强大的系统,特别是创建一个可扩展性极…...

一对多关系映射

在MyBatis中,可以使用XML文件或者注解来进行关系映射。其目的就是将Java对象和数据库表进行映射,从而可以方便地进行数据的操作。 MyBatis关系映射数据库表到Java对象的映射SQL语句到Java方法的映射定义Java类,在XML文件中定义这个Java类和数据库表之间的映射关系定义Java方…...

字母有重复全排列 [2*]

目录 字母有重复全排列 [2*] 程序设计 程序分析 字母有重复全排列 [2*] 输出前N个字母的有重复全排列 Input 输入一个数值N 1<=N<=10 Output 输出前N个大写字母的有重复全排列 Sample Input 2 Sample Output...

机器学习中的数学原理——过拟合、正则化与惩罚函数

通过这篇博客&#xff0c;你将清晰的明白什么是过拟合、正则化、惩罚函数。这个专栏名为白话机器学习中数学学习笔记&#xff0c;主要是用来分享一下我在 机器学习中的学习笔记及一些感悟&#xff0c;也希望对你的学习有帮助哦&#xff01;感兴趣的小伙伴欢迎私信或者评论区留言…...

RK3588S imx415摄像头调试

一、环境 soc&#xff1a;rk3588sensor&#xff1a;imx415board: AIO-3588SJDlinux&#xff1a;rk3588_linux_release_20230301_v1.0.6e 二、imx415简介 品牌&#xff1a;SONY型号&#xff1a;IMX415接口&#xff1a;MIPI CSI 三、驱动移植 瑞芯微支持的摄像头&#xff0c;有…...

「SAP ABAP」OPEN SQL(七)【GROUP BY | HAVING | ORDER BY】

&#x1f482;作者简介&#xff1a; THUNDER王&#xff0c;一名热爱财税和SAP ABAP编程以及热爱分享的博主。目前于江西师范大学本科在读&#xff0c;同时任汉硕云&#xff08;广东&#xff09;科技有限公司ABAP开发顾问。在学习工作中&#xff0c;我通常使用偏后端的开发语言A…...

容器-LinkedList

LinkedList LinkedList的概述 LinkedList的底层使用双向链表实现。 链表是一种线性数据结构&#xff0c;其中每个元素都是一个单独的对象&#xff0c;包含一个指向列表中下一个节点的引用。 它可以用于实现各种抽象数据类型&#xff0c;例如列表、堆栈、队列等。 LinkedLis…...

Flask 路由和视图函数

Flask 路由和视图函数一、路由 (Routing)二、视图函数 (View Functions)三、动态路由四、HTTP方法五、总结在Flask中&#xff0c;路由和视图函数是两个核心概念&#xff0c;它们协同工作以处理用户请求并生成响应。一、路由 (Routing) 路由是URL到Python函数的映射。当用户访问…...

Linux主机 SSH 通过密钥登录

我们一般使用 PuTTY 等 SSH 客户端来远程管理 Linux 服务器。但是&#xff0c;一般的密码方式登录&#xff0c;容易有密码被暴力破解的问题。所以&#xff0c;一般我们会将 SSH 的端口设置为默认的 22 以外的端口&#xff0c;或者禁用 root 账户登录。其实&#xff0c;有一个更…...

中国信息安全测评中心-自主原创测评

信息技术产品自主原创测评是适应我国经济社会发展的需要&#xff0c;是适应国际知识产权保护的发展趋势&#xff0c;鼓励信息技术产业的自主创新和维护权利人合法权益的重要举措。 信息技术产品自主原创测评业务是指在开发者自主声明的基础上&#xff0c;通过对关键技术实现的全…...

redis杂谈之部分重同步的实现

背景&#xff1a; 部分重同步则用于处理断线后重复制情况&#xff1a;当从服务器在断线 后重新连接主服务器时&#xff0c;如果条件允许&#xff0c;主服务器可以将主从服务器连 接断开期间执行的写命令发送给从服务器&#xff0c;从服务器只要接收并执行这 些写命令&#xff…...

多态部分参考答案

一、选择题 1、下列关于动态联编的描述中&#xff0c;错误的是&#xff08;&#xff09;。 A&#xff0e;动态联编是以虚函数为基础 B&#xff0e;动态联编是运行时确定所调用的函数代码的 C&#xff0e;动态联编调用函数操作是指向对象的指针或对象引用 D&#xff0e;动态联编…...

【高项】项目人力资源管理,沟通管理与干系人管理(十大管理)

【高项】项目人力资源管理&#xff0c;沟通管理与干系人管理&#xff08;十大管理&#xff09; 文章目录1、人力资源管理1.1 什么是人力资源管理&#xff1f;1.2 如何进行人力资源管理&#xff1f;&#xff08;过程&#xff09;1.3 人力资源管理工具1.4 人力资源管理文件2、沟通…...

Wikijs简介-强大可扩展的开源维基软件

Wikijs - 最强大 最可扩展的开源维基软件 使用 wiki.js 美丽直观的界面&#xff0c;让文档成为写作的乐趣&#xff01; 优点 &#x1f527; 随时随地安装 几乎适用于任何平台&#xff0c;并与PostgreSQL、MySQL、MariaDB、MS SQL Server 或 SQLite 兼容&#xff01; ⚙️ 管…...

微博舆情分析系统的设计与实现(python)

背景分析 随着互联网大趋势的到来,社会的方方面面,各行各业都在考虑利用互联网作为媒介将自己的信息更及时有效地推广出去,而其中最好的方式就是建立网络管理系统,并对其进行信息管理。由于现在网络的发达,微博舆情分析系统的资讯信息通过网络进行信息管理掀起了热潮,所…...

【AUTOSAR】【Lin通信】LinTrcv

目录 一、概述 二、功能说明 2.1 LIN收发器驱动程序操作模式 2.2 LIN收发器硬件操作模式 2.3 LIN收发器唤醒类型 2.4 LIN收发器唤醒模式 2.5 错误分类 2.5.1 开发错误 三、API接口 3.1 API定义 一、概述 该规范规定了模块LIN收发器驱动程序的功能、API和配置。它负责…...

UE4C++学习篇(十九)-- 动画蒙太奇初级使用

用一个第三人称的射击案例来简单介绍一下动画蒙太奇的使用&#xff0c;动画蒙太奇的具体介绍这里就不多说了&#xff0c;不知道的小伙伴可以去搜一下了解。 这里介绍角色射击&#xff0c;射击的时候播放一个射击动画。 选中需要创建出动画蒙太奇的动画&#xff0c;点击创建&am…...

Java 语言特性(面试系列1)

一、面向对象编程 1. 封装&#xff08;Encapsulation&#xff09; 定义&#xff1a;将数据&#xff08;属性&#xff09;和操作数据的方法绑定在一起&#xff0c;通过访问控制符&#xff08;private、protected、public&#xff09;隐藏内部实现细节。示例&#xff1a; public …...

Leetcode 3576. Transform Array to All Equal Elements

Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接&#xff1a;3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到&#xf…...

(转)什么是DockerCompose?它有什么作用?

一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用&#xff0c;而无需手动一个个创建和运行容器。 Compose文件是一个文本文件&#xff0c;通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...

今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存

文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...

SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)

上一章用到了V2 的概念&#xff0c;其实 Fiori当中还有 V4&#xff0c;咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务)&#xff0c;代理中间件&#xff08;ui5-middleware-simpleproxy&#xff09;-CSDN博客…...

10-Oracle 23 ai Vector Search 概述和参数

一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI&#xff0c;使用客户端或是内部自己搭建集成大模型的终端&#xff0c;加速与大型语言模型&#xff08;LLM&#xff09;的结合&#xff0c;同时使用检索增强生成&#xff08;Retrieval Augmented Generation &#…...

IP如何挑?2025年海外专线IP如何购买?

你花了时间和预算买了IP&#xff0c;结果IP质量不佳&#xff0c;项目效率低下不说&#xff0c;还可能带来莫名的网络问题&#xff0c;是不是太闹心了&#xff1f;尤其是在面对海外专线IP时&#xff0c;到底怎么才能买到适合自己的呢&#xff1f;所以&#xff0c;挑IP绝对是个技…...

Java数值运算常见陷阱与规避方法

整数除法中的舍入问题 问题现象 当开发者预期进行浮点除法却误用整数除法时,会出现小数部分被截断的情况。典型错误模式如下: void process(int value) {double half = value / 2; // 整数除法导致截断// 使用half变量 }此时...

Git 3天2K星标:Datawhale 的 Happy-LLM 项目介绍(附教程)

引言 在人工智能飞速发展的今天&#xff0c;大语言模型&#xff08;Large Language Models, LLMs&#xff09;已成为技术领域的焦点。从智能写作到代码生成&#xff0c;LLM 的应用场景不断扩展&#xff0c;深刻改变了我们的工作和生活方式。然而&#xff0c;理解这些模型的内部…...

[大语言模型]在个人电脑上部署ollama 并进行管理,最后配置AI程序开发助手.

ollama官网: 下载 https://ollama.com/ 安装 查看可以使用的模型 https://ollama.com/search 例如 https://ollama.com/library/deepseek-r1/tags # deepseek-r1:7bollama pull deepseek-r1:7b改token数量为409622 16384 ollama命令说明 ollama serve #&#xff1a…...