博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HBase简介及原理
阅读量:5316 次
发布时间:2019-06-14

本文共 1197 字,大约阅读时间需要 3 分钟。

HBase简介

1、HBase是一个万亿行,百万列大表(Big Table),数据存放在hdfs集群中;

写操作使用MapReduce处理,将(增删改)处理结果放入HBase中,读就直接读HBase;

HBase的并发量在1000左右,常用的关系型数据库MySql的并发量在300~500之间,之所以HBase的并发量比较大,原因在于HBase启用了缓存技术;

HBase中的块的单位是64k,每次读取数据,以块为单位将hdfs集群中的数据加载到内存中,加载到内存中的数据形同一个散列表,散列表以Key-Value的键值对方式存储;

HDFS中存储的数据受到HBase的元数据管理,这种管理方式与Hive雷同,即HBase通过Zookeeper集群管理元数据,通过HDFS集群管理业务数据。

2、数据存储以Region作为单位(行的集合),一个Region的默认大小为128M;

3、因为HBase是基于键值对(读时以块为单位读)的一个NOSQL数据库,Redis的读写纯粹是基于键值对,Redis的并发量在十万左右,并发能力高,

但没有副本机制,数据容易丢失;而HBase基于HDFS集群,具有副本机制,数据安全度高;

4、使用关联评估算法(属于机器学习)

5、HBase是一个构建在HDFS上的分布式列存储系统;

HBase是基于Google BigTable模型开发的;
HBase是Apache Hadoop生态系统中的重要一员,主要用于海量结构化数据存储;
从逻辑上讲,HBase将数据按照表、行和列进行存储。
与hadoop一样,Hbase目标主要依靠横向扩展,通过不断增加廉价的商用服务器,来增加计算和存储能力。

 

Hbase表的特点
大:一个表可以有数十亿行,上百万列;
无模式:每行都有一个可排序的主键和任意多的列,列可以根据需要动态的增加,同一张表中不同的行可以有截然不同的列;
面向列:面向列(族)的存储和权限控制,列(族)独立检索;
稀疏:空(null)列并不占用存储空间,表可以设计的非常稀疏;
数据多版本:每个单元中的数据可以有多个版本,默认情况下版本号自动分配,是单元格插入时的时间戳;
数据类型单一:Hbase中的数据都是字符串,没有类型。

 

HBase架构原理

大数据学习交流QQ群: 让我们一起学习大数据

1、客户端链接zookeeper集群,申请写数据

2、zookeeper返回一个地址列表给客户端
3、客户端根据地址列表链接slave节点写数据,并反馈状态
------------slave节点会主动上报存储状态及工况信息到master
------------master则主动将元数据上报zookeeper集群
4、客户端告知zookeeper记录和状态

 

转载于:https://www.cnblogs.com/mmzs/p/8125955.html

你可能感兴趣的文章
List集合的remove一个对象的方法
查看>>
【Java】BigDecimal
查看>>
PHP开发学习-Apache+PHP+MySQL环境搭建
查看>>
listview嵌套gridview
查看>>
js去除左右空格
查看>>
Windows应用程序开发
查看>>
【转】sqlserver游标概念与实例全面解说
查看>>
Mac使用crontab来实现定时任务
查看>>
wampServer配置WWW根目录遇到的坑
查看>>
【转】android makefile文件分析
查看>>
zip4j实现多线程压缩
查看>>
设置vim
查看>>
html标签缺省(自带)样式大全
查看>>
使用Git简单笔记
查看>>
显式强制类型转换
查看>>
iOS方法类:CGAffineTransform
查看>>
docker swarm的应用----docker集群的构建
查看>>
ZooKeeper相关资料集锦
查看>>
Java web application——基础
查看>>
SQL:认识数据库约束
查看>>