hbase数据库介绍,HBASE的特点,表结构逻辑视图,Row Key,列族,时间戳,Cell

article/2025/10/11 10:10:56

HBASE数据库

1. Hbase基础

1.1 hbase数据库介绍

1、简介nosql

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

主要用来存储结构化和半结构化的松散数据。

Hbase查询数据功能很简单,不支持join等复杂操作,不支持复杂的事务(行级的事务)

Hbase中支持的数据
类型:byte[]

与hadoop一样,Hbase目标主要依靠横向扩展,通过不断增加廉价的商用服务器,来增加计算和存储能力。

HBase中的表一般有这样的特点:

 大:一个表可以有上十亿行,上百万列 T
 面向列:面向列(族)的存储和权限控制,列(族)独立检索。
 稀疏:对于为空(null)的列,并不占用存储空间,因此,表可以设计的非常稀疏。
 /hbase/aaa/ /bbb/ddy

2、表结构逻辑视图

HBase以表的形式存储数据。表有行和列组成。列划分为若干个列族(column family)
这里写图片描述
Name:zhangsan , age:18 sex : male
Byte

001 002….009 0010 0011
Abcd
A xxxxx
B ooooo

姓名–年龄–地点–订单编号–xx 64kb

地点—年龄—姓名

Zhang-18

构建二级所引

Bj-20-张

Cell 123 4

3、Row Key

1,2,3,,,,10 11 101 103
与nosql数据库们一样,row key是用来检索记录的主键。访问hbase table中的行,只有三种方式:
1 通过单个row key访问
2 通过row key的range
3 全表扫描
Row key行键 (Row key)可以是任意字符串(最大长度是 64KB,实际应用中长度一般为10-100bytes),在hbase内部,row key保存为字节数组。
Hbase会对表中的数据按照rowkey排序(字典顺序)

存储时,数据按照Row key的字典序(byte order)排序存储。设计key时,要充分排序存储这个特性,将经常一起读取的行存储放到一起。(位置相关性)
注意:
字典序对int排序的结果是
1,10,100000001,11,12,13,14,15,16,17,18,19,2,20,21,…,9,91,92,93,94,95,96,97,98,99。要保持整形的自然序,行键必须用0作左填充。
行的一次读写是原子操作 (不论一次读写多少列)。这个设计决策能够使用户很容易的理解程序在对同一个行进行并发更新操作时的行为。

4、列族(面向列进行存储的)

hbase表中的每个列,都归属与某个列族。列族是表的schema的一部分(而列不是),必须在使用表之前定义(必须在创建表的时候定义)。
列名都以列族作为前缀。例如courses:history , courses:math 都属于 courses 这个列族。
访问控制、磁盘和内存的使用统计都是在列族层面进行的。
列族越多,在取一行数据时所要参与IO、搜寻的文件就越多,所以,如果没有必要,不要设置太多的列族

5、时间戳

HBase中通过row和columns确定的为一个存贮单元称为cell。每个 cell都保存着同一份数据的多个版本。版本通过时间戳来索引。时间戳的类型是 64位整型。时间戳可以由hbase(在数据写入时自动 )赋值,此时时间戳是精确到毫秒的当前系统时间。时间戳也可以由客户显式赋值。如果应用程序要避免数据版本冲突,就必须自己生成具有唯一性的时间戳。每个 cell中,不同版本的数据按照时间倒序排序,即最新的数据排在最前面。

为了避免数据存在过多版本造成的的管理 (包括存贮和索引)负担,hbase提供了两种数据版本回收方式:
HColumnDescriptor
.setTimeToLive(毫秒)
.setInMemory(boolean)
.setMaxVeisons(8)
.setMinVeisons(8)

 保存数据的最后n个版本
 保存最近一段时间内的版本(设置数据的生命周期TTL)。
用户可以针对每个列族进行设置。

6、Cell

由{row key, column( = +


http://chatgpt.dhexx.cn/article/k1WtJIJg.shtml

相关文章

大数据工具——HBASE数据库(一)

一、HBASE基础概念 1.HBASE概念 HBASE是一个数据库----可以提供数据的实时随机读写。HBASE与mysql、oralce、db2、sqlserver等关系型数据库不同,它是一个NoSQL数据库(非关系型数据库) 2.HBase特性 - HBase的表模型与关系型数据库的表模型…

HBase详细总结

1 HBase 浅析 1.1 HBase 是啥 HBase 是一款面向列存储,用于存储处理海量数据的 NoSQL 数据库。它的理论原型是Google 的 BigTable 论文。你可以认为 HBase 是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统。 HBase 的存储是基于HDFS的,HDFS 有…

HBase详细概述

本文首先简单介绍了HBase,然后重点讲述了HBase的高并发和实时处理数据 、HBase数据模型、HBase物理存储、HBase系统架构,HBase调优、HBase Shell访问等。 不过在此之前,你可以先了解 Hadoop生态系统 ,若想运行HBase,则需要先搭建…

JPG,PNG,BMP图片无损压缩软件

怎么压缩图片文件的大小呢?现在的科技发展迅速,手机或者摄像机拍摄的图片的像素很高,这样也就导致了图片比较大,我们想要将图片上传作为网站的头像或者其他网站平台都会对图片文件大小进行限制,今天教给大家一种压缩图…

深入前端图片压缩

前言 任何研究都不是凭空产生,至少博主是这样的。 在手机端拍照后图片很大,有的甚至有 10M 多。这个时候再去上传图片,可想而知,速度是很慢的。正因如此,便有了前端图片压缩这个需求。 图片格式 传统的图片格式有 gi…

html图片无损压缩,有损压缩和无损压缩的区别是什么

区别:无损压缩是可以完全还原的;而有损压缩还原后不能和原来文件一样,是有一定损耗的。有损压缩两种的基本机制(有损变换编解码和预测编解码);而无损压缩原理有行程编码、霍夫曼编码和算术编码等。 本教程操作环境:windows10系统、thinkpad t480电脑。 有损压缩是利用了人…

6种比较好的“在线图片无损压缩工具”+PDF转换工具

目录 第一:Tinypng 第二:Compressor.io 第三:Kraken.io 第四:Giftofspeed 第五: OptimiZilla 第六:Imagerecycle 第七:(PDF转换工具)ToePub 第一:Tiny…

Android图片无损压缩库ImageCompress使用(最新优化OOM问题的1.0.10版本)

转载请注明出处:https://blog.csdn.net/hh7181521/article/details/81014839 图片压缩一直是Android的一个痛点,相比较于iOS的效果,Android的压缩简直可以用惨不忍睹来形容! 开源库ImageCompress是基于libjpeg-turbo来进行图片的压…

无损压缩技术

一个视频经过有损压缩完成后,会再进行无损压缩,让视频进一步变小。 DCT 变化 DCT 变化的过程又叫量化,经过有损压缩后,数据分散在二维图标中的各个节点上,经过 DCT 变化,会将所有数据集中到某一块。 转换…

使用Tuimgs在线工具对图片无损压缩教程

正文: 图片体积压缩是很多设计师都不陌生的事情,在多数情况下,即使你并不是一位设计师,但是你也可能需要使用到图片压缩,就例如:我们需要存储一张图片到手机的时候,但是这张图片的体积实在是太大了,会占用…

图片无损压缩工具(报名照片压缩至30Kb以下

% 我姐报名的需求 (文中图片都是直接拖入博客编辑器的) 素材选用:邓紫棋照片一张 【排雷】吐槽一下知乎高赞答案提供的方法:右键编辑,重新设置大小 198赞,评论一堆尬吹 用此方法将上图压缩至27.7KB结果如…

图片无损压缩软件哪个好用:试试完全免费的JPG-C 图片批量修整压缩减肥工具吧 | 最新jpg批量修整工具下载

JPG-C是一款完全免费且非常实用的电脑批量图片无损压缩软件,基于Net开发,也叫jpg批量修整工具,第一个版本始于2013年4月份,区区几百KB的超迷你身材但是能力确不容小觑,用户可以根据自定的压缩级别以单个或批量的方式对…

win7查询计算机硬盘sn,电脑win7系统查询硬盘序列号的方法

近些年来,科学技术的迅猛发展,极大地推动了计算机网络技术的进步,计算机网络的日益发展,使人们的生活也发生着巨大的变化。下面是学习啦小编为大家整理的关于电脑win7系统查询硬盘序列号的方法,一起来看看吧! 电脑win7系统查询硬盘序列号的方法 方法一:我…

win7/win10下装centos7双系统

工具及材料 1、一台PC 2、一个U盘,8G以上 3、需要的文件:CentOS-7-x86_64-DVD-1511.iso(其他版本也可以如 1611) 4、需要的软件:USBwriter(优于UltraISO) 第一步:从windows硬盘分区中再划一个用于装centos的分区 我的电脑->右键->管理,然后 到这里…

计算机系统盘涨满怎么办,win7系统C盘突然就满了怎么办?win7系统盘突然爆满了三种解决方法图文教程...

最近,有win7系统用户反映,电脑的系统盘突然就爆满了,这该怎么办呢?大家可以释放C盘空间,下面脚本之家的小编和大家讲解win7系统盘突然就满了三种解决方法,一起来看看吧。 win7系统盘突然就满了解决方法一:移走虚拟内存文件到非系统盘 大家都知道,为了加快系统的运行,W…

win7修复计算机 正常启动不了怎么办,Win7系统无法正常启动怎么办

Win7系统开机自检之后,始终无法进入系统,重启也无法解决。不要紧,下面是学习啦小编给大家整理的一些有关Win7系统无法正常启动的解决方法,希望对大家有帮助! Win7系统无法正常启动的解决方法一 1.我们可以开机F8进入系统高级选项菜…

Win7系统文件缺失怎么修复

Win7系统文件缺失怎么修复?有些朋友的电脑经常会提示缺失某些文件,比较严重的连系统桌面都进不去,大家想要了解有什么方法可以修复系统文件缺失的问题。今天俺就给大家分享几个恢复系统文件的方法。 一、进入安全模式 在重启或者电脑开机的时…

关于Win7系统“U盘拒绝访问”解决问题

问题场景: 提示:U盘无损坏,不能显示容量,并且提示拒绝访问 在属性中有很明显的不能够更改操作组和用户组的权限,无法添加用户权限名称 解决方案: 1、在系统桌面上,按组合键(win键…

服务器虚拟机怎么安装win7系统教程,虚拟机怎么安装win7系统 虚拟机安装win7系统教程...

有的时候我们会想要通过虚拟机来进行安装win7系统,但如果不会安装该怎么办呢?这个问题好解决,不是大事,你们就继续往下看,看看虚拟机怎么安装win7系统的吧。 虚拟机安装win7系统教程方法 1.打开运行虚拟机,然后点击界…

用u盘给服务器装win7系统,用U盘装系统装Win7图文教程

win7之家小编认为用U盘装系统装Win7是一个非常好用的方法,那么我们到底要如何利用u盘装win7系统呢?其实方法非常简单,下面小编就来教大家u盘装win7系统,一起来看看下面这篇用U盘装系统装Win7图文教程吧,保证不会让大家失望的哦。 工具/原料: U盘一个 方法/步骤: 首先我们…