Hbase的基本介绍

HBase理论_HBase架构组件介绍 hbase master采用主备架构,master与regionserver采用主从架构(即一个HMaster会控制多个regionserver),HBase由zookeeper、HMaster、HRegionServer三部分组成,底层数据存储在HDFS上(存储到HDFS中的是Hfile文件)。HBase引入zookeeper,避免HMaster单点问题,HMaster主要负责table和region的管理工作:1 )管理用户的读写操作。 阅读详情

今天公司进行了一样关于Hbase的培训,让我对Hbase有了基础的了解。和大家分享一样。自己的理解不是很深,如果有说的不对地方,希望大家斧正。

什么是Hbase?

HBase是一个分布式的、面向列的开源数据库。

分布式:Hbase的分布式是依托于Hadoop的,那Hadoop又是什么?Hadoop 是一个能够对大量数据进行分布式处理的软件框架。其实我也不懂这是个什么框架,我的理解是利用Hadoop可以将很多台服务器集成一个集群,接受这个框架统一的调配。不再是分散的,而变成一个有机的整体。Hbase架设在整个服务器集群上。当Hbase创建表时,Hbase会建立一个region,假设为A(默认的region大小为64M),当表中数据越来越大,大小超过64M时,就会发生spite即将这台服务器上该region移动到另外一台服务器上,重新建立一个region B继续保存数据,然后超过64M又继续spite。 这样可以将数据分摊到整个服务器的集群中,在查询的时候会首先查找A,如果没有继续查B....这样充分利用了多台服务器资源,防止某一单一的服务器查询工作量过大,实现了负载均衡。 Hbase还可以实现MapReduce。 MapReduce其实就是Map和Reduce两个步骤。Map是将数据分散到各个服务器上去。Reduce就是每个服务器做同样的工作,然后统计出结果。比如:有一张全国所有人名字的表,服务器集群有6台机器,我们想统计出全国姓”张“有多少个。首先Map过程会将这样表分成6份,放到集群中的6台机器中。Reduce就是每台机器都统计自己分到的表中有多少个姓”张“的。然后将每台机器的结果汇总。得出结果。让效率得到极大的提高。

 

面向列:指的是同一个列簇里所有数据都存放在一个文件中,从而在读写时有效降低磁盘I/O的开销,并且由于类似数据存放在一起,提高了压缩比。Hbase数据存储是一个四维的表,1、Rowkey 2、版本数 3、ColumnFamily 4、Qualify。Rowkey就是这个表的关键字,相当于一个Map的key。然后value是ColumnFamily。 版本数是数据的版本的数,是以时间戳来记录的。默认的Hbase记录数据的3个版本。就是第一次存入的数据是第一个版本,然后更新之后的数据,Hbase不会讲原来的数据删除,而是作为该数据的老版本继续保留。直到更新的3次。才将最原始数据删除。这样导致数据量翻了3倍。如果不需要最好在更改默认设置。ColumnFamily也相当于一个Map里面继续存Qualify。不过ColumnFamily最好不要超过3个。3个以上会导致查询速率出现问题。Qualify同样是一个Map结构。里面支持好像支持100W对键值对。 以一个例子来看一样Hbase的存储结构吧。例如:一张个人信息表,姓名:Mark 年龄:22 性别:男 毕业学校:xxx学校  获奖情况:最佳新人奖。 可以这样建立表结构,Rowkey中存入姓名Mark,2个ColumnFamily一个保存这个人的base基本信息如:年龄,性别,一个保存other其他信息。如:学校、获奖。然后Qualify保存详细信息,如name:mark。 最后得到格式为:  mark:{"base":{"name":"Mark","age":22,"sex":"man"},"other":{"school":"xxx学校",{"reward":"最佳新人奖"}}}  可以看到所有的列名都会存在数据库中所以最好将名字取得短。

 

还有一个索引问题,这种map类型的数据格式。是没有索引的。如果要加索引就是以要加索引的字段为key,原来的Rowkey做值重新建立一张表。也可以存入其他数据。这个就看使用空间换时间还是用时间换空间了。

大概就是这么一个基本介绍。

最佳实践:

1、如果不要用到多版本记录。那么就将最大版本数设为1。否则会多增加很多数据量。

2、尽可能将字段的名字长度减少,因为这些也都会保存到数据库中。

3、当存入数据量很大,很快的时候,可以调节region的大小。防止过多的spite操作。过多的spite的操作可能导致hbase挂掉,从而会导致整个集群宕机。

4、在存入数据前,先把表格式定好。因为存Hbase中的数据一般都是上T的数据,没办法更改表结构。只能重新建立表导入。

JSBSim开发手册:飞机仿真模型开发指南 JSBSim是一款开源的飞行动力学模型仿真引擎,支持多种飞行器的仿真,包括固定翼飞机、直升机、无人机等。JSBSim的设计目标是提供一个灵活、高效、精确的飞行动力学仿真环境。飞行动力学仿真:实现飞行器的动力学仿真,包括空气动力学、发动机、质量和惯性等模型。控制系统仿真:实现飞行器的控制系统仿真,包括自动驾驶仪、飞控系统等。环境仿真:模拟飞行环境,包括大气模型、风力模型等。本文详细介绍了如何使用C++进行JSBSim开发,包括系统设计、模型实现、代码优化和性能调优等方面的内容。 阅读详情

相关推荐

避坑指南:PyCINRAD处理CINRAD雷达数据时遇到的5个典型报错及解决方案

本文针对使用PyCINRAD库处理CINRAD雷达基数据时常见的5个典型报错,提供了详细的解决方案。内容涵盖环境配置、数据读取、PPI可视化及性能优化等核心环节,重点解决了版本兼容性、数据异常处理和中文乱码等实际问题,帮助用户高效处理雷达基数据并生成准确的PPI图像。

cc789的博客 1067

为什么列式存储会被广泛用在 OLAP 中?

大家好,我是大D。 不知是否有小伙伴们疑问,为什么列式存储会广泛地应用在 OLAP 领域,和行式存储相比,它的优势在哪里?今天我们一起来对比下这两种存储方式的差别。 其实,列式存储并不是一项新技术,最早可以追溯到 1983 年的论文 Cantor。然而,受限于早期的硬件条件和应用场景,传统的事务型数据库(OLTP)如 Oracle、MySQL 等关系型数据库都是以行的方式来存储数据的。 直到近几年分析型数据库(OLAP)的兴起,列式存储这一概念又变得流行,如 HBase、Cassandra 等大数据相关的数

weixin_43958974的博客 2万+

ClearML中文文档实战:从安装到第一个实验的保姆级教程

本文提供ClearML从零开始的实战指南,涵盖核心组件理解、Python SDK安装、服务器配置及首个自动化实验的完整流程。通过改造PyTorch训练脚本的实例,详细演示了如何利用ClearML自动记录实验参数、指标与模型,实现机器学习实验的可复现性与高效管理,并简要介绍了进阶的自动化工作流。

weixin_29216049的博客 398

Hbase是什么?

Hbase/Hadoop Database 是什么 概念/定义 Hbase是一个分布式,可扩展,支持海量数据存储的noSQL数据库 优点 支持大量的数据存储 易拓展 自动切片,自动故 障转移 可以使用Java API编程 缺点 没有高级查询语句 延迟较MySql等关系型数据库大 需要分布式运行,需要一定的机器数量 名词解释 namespace 类似于mysql database rowkey:每条数据的唯一标识,hbase中的数据按照rowkey字典序排序的(1 10 100 101 11 20 21) r

QenXX的博客 3987

SRAM故障排查实战:如何用Nano Prober定位6T存储单元的异常点

本文详细介绍了在SRAM故障排查中,如何运用Nano Prober(纳米探针)技术精准定位6T存储单元的内部异常。面对传统方法难以发现的电性参数漂移(如晶体管阈值电压偏移)或微小物理缺陷,Nano Prober能直接对单个6T单元内的晶体管进行I-V特性测量,结合失效模式分析,有效解决读写错误等疑难问题,是芯片失效分析的关键工具。

v5w6x的博客 664

10、犹豫双模糊TOPSIS算法:原理与实例解析

本文介绍了犹豫双模糊TOPSIS算法的基本原理与应用步骤,结合中国四家纺织公司的案例,详细解析了从构建犹豫双模糊决策矩阵、归一化处理、专家信息聚合,到确定正负理想解、计算距离与相对贴近度系数的完整决策流程。该方法有效应对决策者在评价过程中的犹豫性,适用于财务评估、项目选择等复杂多属性决策场景,具有较强的实用性和推广价值。

yhn45678901的博客 122

Hbase基本概念

一、Hbase介绍 二、HBase 的特点是什么? 三、Hbase的存储结构 四、HBase 读写流程? 五、HBase表的数据模型 六. 热点现象(数据倾斜)怎么产生的,以及解决方法有哪些七、HBase的 rowkey 设计原则 八、HBase的列簇设计 九、 简述 HBase 中 compact 用途是什么,什么时候触发,分为哪两种,有什么区别,有哪些相关配置参数?

libaowenBlog的博客 1万+

基于STM32、HAL库的CH9434总线转UART驱动程序设计

CH9434是一款USB转4串口控制芯片,可以将单个USB接口扩展为4个独立的串口(UART)。支持多种数据格式(数据位5-8,停止位1/1.5/2,奇偶校验或无校验)// 读取接收到的数据。// 重新启动接收中断。// 向所有4个串口发送数据。// UART初始化函数示例(USART1)// 其他UART初始化函数类似...// 初始化CH9434。// 初始化UART1。// 初始化UART2。// 初始化UART3。// 初始化UART4。工作电压:3.3V/5V兼容。

corlin6688的博客 989

什么是HBase ???(个人学习总结)

HBase是一种分布式、可扩展、支持海量数据存储的一个NoSQL数据库,相较于HDFS可以进行随机写操作。

Biu_Biu_Bi的博客 463

嵌入式软件工程师面试题目整理(一)

文章目录嵌入式软件工程师面试题目整理(一)Arm有多少32位寄存器?Arm2440和6410有什么区别CPU,MPU,MCU,SOC,SOPC联系与差别上拉&下拉&高阻态串口协议讲一讲RS232和RS485通讯接口有什么区别IIC时序图画一下,IIC有哪些状态,给一个字节,将它发送出去。IIC有什么注意事项?有没有用I/O模拟IIC,如果有需要注意什么?为什么2440的内存起始地址是3后面7个0呢?为什么6410的内存起始地址是5后面7个0呢?内存管理有什么看法?(MMU)锁有哪些?有什么注

嵌入式与Linux那些事的博客 7883

数学向量空间的对偶空间解析

对偶空间是线性代数的"进阶语法",它不仅深化了我们对向量空间的理解,还为解决实际问题提供了强大工具。用生活类比解释对偶空间的核心概念,打破"抽象数学"的壁垒;建立对偶空间与原向量空间的直观联系,揭示"对偶"的本质;通过数学推导和代码实现,让读者掌握对偶空间的基本运算;展示对偶空间在科学和工程中的应用,体现其理论价值。范围:本文从有限维实向量空间入手(便于理解),逐步扩展到对偶基、双对偶空间,最后简要提及无限维空间的特殊性。

AI天才研究院 879

HBase理解

关于HBase

zwyoozwz的博客 1256

在MATLAB中将C语言代码转化为可执行的mexw64文件

这样,您可以将高效的C语言算法集成到MATLAB环境中,以便更好地利用MATLAB的功能和特性。请记住,在使用mex转换C语言代码之前,您需要正确编写和测试C语言代码,并确保它与MATLAB的mex接口兼容。MATLAB是一种功能强大的数值计算软件,它提供了一个机制,可以将C语言代码转化为MATLAB可执行的mexw64文件。在上述命令中,"-output"选项指定生成的mex文件的名称,"myfunction"是您选择的名称,"myfunction.c"是要编译的C语言源文件。步骤1:编写C语言代码。

CodeRoarX的博客 1427

HBase介绍

本文介绍了HBase是什么;HBase的优缺点、数据模型;HBase的架构设计;HBase的命令以及使用注意事项。

qq_35932990的博客 2121

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

HBase基本介绍

简介 hbase是bigtable的开源java版本。是建立在hdfs之上,提供高可靠性、高性能、列存储、可伸缩、实时读写nosql的数据库系统。 它介于nosql和RDBMS之间,仅能通过主键(row key)和主键的range来检索数据,仅支持单行事务(可通过hive支持来实现多表join等复杂操作)。 主要用来存储结构化和半结构化的松散数据。 Hbase查询数据功能很简单,不支持join等复...

czxylzl的博客 1764

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

HBase的基本介绍

HBase的基本介绍HBase的基本介绍稀疏的理解HBase的发展历程 HBase的基本介绍 hbase是bigtable的开源java版本。是建立在hdfs之上,提供高可靠性、高性能、列存储、可伸缩、实时读写nosql的数据库系统。 它介于nosql和RDBMS之间,仅能通过主键(row key)和主键的range来检索数据,仅支持单行事务(可通过hive支持来实现多表join等复杂操作)。 主...

weixin_45492179的博客 1751

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

HBase 基础介绍

HBase 是一个强大的分布式数据库,具有高可靠性、高性能和可扩展性等优点。通过了解 HBase 的数据模型、架构和基本操作,你可以在实际项目中应用 HBase 来处理大规模的结构化数据。

qq_34579060的博客 1356

HBase简单介绍

概述 HBase是一个构建在hdfs之上的分布式的的Nosql数据库 HBase适合对于海量数据进行实时随机读写 HBase一张表能够支撑数十亿行,数百万列 HBase从设计上来说由三部分构成 HBase Master :负责处理region分配 DDL 操作 Region-server : 数据读写 底层数据存储和集群协同交给 hdfs 和 zookeeper进行管理 数据模型 思维数据...

潇洒人生的博客 344

Hbase_HBase基本介绍

标题1.简介2.HBase与Hadoop的关系3.RDBMS与HBase的对比4.HBase特征简要 1.简介 1、hbase是bigtable的开源java版本。是建立在hdfs之上,提供高可靠性、高性能、列存储、可伸缩、实时读写nosql的数据库系统。 它介于nosql和RDBMS之间,仅能通过主键(row key) 和 主键的range来检索数据,仅支持单行事务(可通过hive支持来实现多表join等复杂操作)。 2、主要用来存储结构化和半结构化的松散数据。 Hbase查询数据功能很简单,不支持j

weixin_44449054的博客 604

HBase shell 命令介绍

HBase shell是HBase的一套命令行工具,类似传统数据中的sql概念,可以使用shell命令来查询HBase中数据的详细情况。安装完HBase之后,如果配置了HBase的环境变量,只要在shell中执行hbase shell就可以进入命令行界面,HBase的搭建可以参考我的上一篇文章:hbase分布式集群搭建 HBase介绍 HBase简介 HBase的名字的来源于Hadoop d...

JHON07的博客 297

Hbase基本知识介绍

Hbase基本知识介绍1. Hbase简介1.1 什么是hbase1.2 与传统关系型数据库的对比1.3 Hbase架构2. Habse安装2.1 上传2.2 解压2.3 重命名2.4 修改环境变量2.5 修改配置文件2.6 分发到其他节点2.7 启动2.8 监控3. Hbase数据模型3.1 逻辑视图3.2 物理视图3.3 Row Key(行键)3.4 Columns Family(列簇)3.5...

qq_40685915的博客 2959

Hbase——基础介绍

HBase 是一款高性能的非关系型分布式数据库(NoSQL),基于 Google 的 BigTable 架构,运行在 Hadoop 和 HDFS(Hadoop Distributed File System)之上。它专为大数据应用设计,提供快速的随机读写能力,适合处理大量的非结构化或半结构化数据。以下是对 HBase 的简单介绍,旨在帮助初学者理解其基本概念、结构和使用场景。

zhanglongfei1016的专栏 1633

HBase介绍及基本操作

HBase介绍及基本操作

Shyllin的博客 511
上一篇: 基于jquery的五子棋单机版
下一篇: MongoDB自带MapReduce功能和用spring-data实现MapReduce
hello_java_
博客等级 码龄15年 20粉丝 26原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值