HBASE概念补充

HBase的工作方式:

hbase中的表在行的方向上分隔为多个HRegion,分散在不同的RegionServer中

这样做的目的是在查询时可以将工作量分布到多个RegionServer中以提高速度

region由[startkey,endkey)表示

HRegion是hbase分布式存储和负载均衡的最小单元

要注意HRegion不在hdfs中,而是在RegionServer的内存中,在内存(其实也有数据在本地文件系统中,因为内存空间毕竟是有限的)中存储数据以提高查询性能,对于修改会将数据同步到hdfs中,以持久化数据。

hbase中的数据按照rowkey的字典顺序(字典顺序!!!先比较第一位 如果相同再比较第二位。。。)按序存储,所以当以rowkey查询数据时,可以提高速度。

hregion的分裂,当hregion变的很大时会分裂成两个,存放到不同的RegionServer中,防止一个Region过大,导致查询其中数据时速度很慢

hbase的系统结构:主要有client master regionServer zookeeper

为什么hbase可以很快:

从逻辑结构上来说:

表按照行键进行了排序,所以查询时可以很快定位

数据按照行键切分为多个HRegion,分布在多个RegionServer中,查询大量数据时,多个RegionServer可以一起工作,从而提高速度

从物理结构上来说:

HRegion是存活在RegionServer的内存中的,读写会非常的高效

还有HFile和HLog的支持保证大量的数据可以保存

数据最终落地到HDFS中,分布式的存储,保证数据段可靠性和可扩展性

为什么hbase可以存储很多数据:

基于hdfs,所以支持可扩展性,可以通过增加大量的廉价的硬件提高存储容量

按列存储,空的数据不占用空间,当存储稀疏数据时,不会浪费空间

按列存储,同一列的数据存放在一起,而同一列的数据一般都是同样的类型的内容相似的数据,可以实现非常高效的压缩,节省空间

为什么hbase的数据是可靠的:

基于hdfs,由hdfs的可靠性保证了hbase的可靠性--即数据可以有多个备份

利用zookeeper实现了HA,即使某一台机器挂掉另外的机器也可以很快的替换它

hbase和hive和传统的关系型数据库的比较:

比起传统的关系型数据库,可以存储和处理更大级别的数据,提供高效的查询,对于稀疏数据的处理更好,可以存放非结构化的数据,具有更好的横向扩展性,免费开源性价比很高。但是不能支持非常好的事务特性,只支持行级的事务。

比起hive,hive只是在mapreduce上包了一层壳,本质上还是离线数据的处理的工具,实时查询性能有限,本质上是一个基于hadoop的数据仓库工具,不能支持行级别的新增修改和删除。hbase可以提供实时的数据的处理能力,适用于在线数据查询处理,本质上是一种数据库。

时间: 2024-08-10 00:07:24

HBASE概念补充的相关文章

Hbase概念

Hbase简介 Hbase是一个分布式的, 面向列的开源数据库, 该技术来源于Chang et al所撰写的Google论文"Bigtable: 一个结构化数据的分布式存储系统" 就像Bigtable利用了Google文件系统( File System ) 所提供的分布式数据存储一样, Hbase在Hadoop之上提供了类似于Bigtable的能力 Hbase是Apache的Hadoop项目的子项目 Hbase不同于一般的关系数据库, 它是一个适合于非结构化数据存储的数据库, 另一个不

hbase 概念 + 搭建分布式HA应用

HBase - Hadoop Database hbase的设计思想来自于google的bigtable 主键:Row Key 主键是用来检索记录的主键,访问Hbase table 中的行,只有三种方式 通过单个Row Key 访问 通过Row Key 的range 全表扫描 列族:Column Family 列族在创建表的时候声明,一个列族可以包含多个列,列中的数据都是以二进制形式存在,没有数据类型 时间戳:Timestamp Hbase中通过row和columns确定的为一个存储单元称为ce

Hbase概念流程介绍

一.简介 history started by chad walters and jim 2006.11 G release paper on BigTable 2007.2 inital HBase prototype created as Hadoop contrib 2007.10 First useable Hbase 2008.1 Hadoop become Apache top-level project and Hbase becomes subproject 2008.10 Hb

机器学习第六周--机器学习重要概念补充

一.sklearn中的Pipeline串联用法 Python搭建机器学习模型时,Pipeline是一个加快效率的方法,主要介绍学习串联用法.Pipeline处理机制就像是把所有模型塞到一个管子里,然后依次对数据进行处理,得到最终的分类结果,例如模型一可以是一个数据标准化处理,模型二可以是特征选择模型或者特征提取模型,模型三可以是一个分类器或者预测模型.Pipeline就是把这三个模型(模型不一定非要三个,根据自己实际需要)塞到管子里合并成一个模型调用,其中最后一个模型一定要是估计器,例如分类器.

爬虫5 scrapy框架2 全站爬取cnblogs, scarpy请求传参, 提高爬取效率, 下载中间件, 集成selenium, fake-useragent, 去重源码分析, 布隆过滤器, 分布式爬虫, java等语言概念补充, bilibili爬视频参考

1 全站爬取cnblogs # 1 scrapy startproject cnblogs_crawl # 2 scrapy genspider cnblogs www.cnblogs.com 示例: # cnblogs_crawl/cnblogs_crawl/spiders/cnblogs.py import scrapy from cnblogs_crawl.items import CnblogsCrawlItem from scrapy.http import Request class

ML_6机器学习重要概念补充

学习目标 sklearn中的Pipeline 偏差与方差 模型正则化之L1正则.L2正则 一.sklearn中的Pipeline 研究一个因变量与一个或多个自变量间多项式的回归分析方法,称为多项式回归(Polynomial Regression).多项式回归是线性回归模型的一种,其回归函数关于回归系数是线性的.其中自变量x和因变量y之间的关系被建模为n次多项式. 如果自变量只有一个时,称为一元多项式回归:如果自变量有多个时,称为多元多项式回归.在一元回归分析中,如果变量y与自变量x的关系为非线性

Android bluetooth介绍(一):基本概念及硬件接口

关键词:蓝牙硬件接口 UART  PCM  blueZ 版本:基于android4.2之前版本 bluez内核:linux/linux3.08系统:android/android4.1.3.4作者:xubin341719(欢迎转载,请注明作者,请尊重版权谢谢)欢迎指正错误,共同学习.共同进步!! 一.基本概念补充 1.AP:ApplicationProcessor应用处理器 采用ARM架构的CPU,通常负责运行OS和一些特定设置和载入开机预设.比如一个没有电话功能的平板电脑,只跑android或

自动化运维工具Ansible详细部署

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://sofar.blog.51cto.com/353572/1579894 ========================================================================================== 一.基础介绍 =========================================================

Huffman tree(赫夫曼树、霍夫曼树、哈夫曼树、最优二叉树)

flyfish 2015-8-1 Huffman tree因为翻译不同所以有其他的名字 赫夫曼树.霍夫曼树.哈夫曼树 定义引用自严蔚敏<数据结构> 路径 从树中一个结点到另一个结点之间的分支构成两个结点之间的路径. 路径长度 路径上的分支数目称作路径长度. 树的路径长度 树的路径长度就是从根节点到每一结点的路径长度之和. 结点的带权路径长度 结点的带权路径长度就是从该结点到根节点之间的路径长度与结点上权的乘积. 树的带权路径长度 树的带权路径长度就是树中所有叶子结点的带权路径长度之和,通常记做