HBase是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化和非结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。 HBase是一个高可靠性、高性能(快)、面向列、可伸缩的分布式数据库系统,利用HBASE技术可在廉价PC Server上搭建起大规模结构化和非结构化数据存储集群。 它介于nosql和RDBMS之间(nosql一般不存储结构化数据 ,hbase结构化和非结构化都存),仅能通过主键(row key)和主键的range来检索数据,仅支持单行事务(可通过hive或者Phoenix支持来实现多表join等复杂操作)。主要用来存储非结构化和半结构化和结构化的松散数据。与hadoop一样,Hbase目标主要依靠横向扩展,通过不断增加廉价的商用服务器,来增加计算和存储能力。 特点 1 海量存储 Hbase适合存储PB级别的海量数据,在PB级别的数据以及采用廉价PC存储的情况下,能在几十到百毫秒内返回数据。这与Hbase的极易扩展性息息相关。正式因为Hbase良好的扩展性,才为海量数据的存储提供了便利。 2 列式存储 这里的列式存储其实说的是列族存储,Hbase是根据列族来存储数据的。列族下面可以有非常多的列,列族在创建表的时候就必须指定。 3 极易扩展 Hbase的扩展性主要体现在两个方面,一个是基于上层处理能力(RegionServer)的扩展,一个是基于存储的扩展(HDFS)。 备注:RegionServer的作用是管理region、承接业务的访问,这个后面会详细的介绍通过横向添加Datanode的机器,进行存储层扩容,提升Hbase的数据存储能力和提升后端存储的读写能力。 4 高并发 集群中对外服务的节点叫RegionServer(存储表的部分范围数据) 并发查询的时候 不同的机器节点对外服务 支持高并发 由于目前大部分使用Hbase的架构,都是采用的廉价PC,因此单个IO的延迟其实并不小,一般在几十到上百ms之间。这里说的高并发,主要是在并发的情况下,Hbase的单个IO延迟下降并不多。能获得高并发、低延迟的服务。 5 稀疏 稀疏主要是针对Hbase列的灵活性,在列族中,你可以指定任意多的列,在列数据为空的情况下,是不会占用存储空间的。 HBase擅长于存储结构简单的海量数据但索引能力有限,而Oracle等传统关系型数据库(RDBMS)能够提供丰富的查询能力,但却疲于应对TB级别的海量数据存储,HBase对传统的RDBMS并不是取代关系,而是一种补充。 存储结构化和非结构数据的分布式数据库 ! 不适合使用 需要数据分析,比如报表(rowkey) 对sql支持不好 单表数据不超过千万(200万) 适合使用HBASE 单表数据超过千万 ,并发量还很高 数据分析需求弱 ,或者不需要那么灵活和实时 注意:由于hbase对SQl的支持并不是很好 ,所以Hbase不适合做复杂的报表分析等场景 ,适合数据量非常大且报表统计维度并不是复杂的场景 ,比如标签化查询等!!! client zookeeper ü默认情况下,HBase 管理ZooKeeper 实例,比如, 启动或者停止ZooKeeper,但一般我们不会让hbase自己管理一套zookeeper进程,而是让hbase使用我们外部的一个公共zookeeper集群 ,所以我们在安装的时候通常都会配置自己的ZK集群 .üZookeeper的引入使得Master不再有单点故障 HMaster (分配数据到底存储在哪个regiserver中) HRegionServer Hmaster: Hbase集群的主节点 HRegionServer: 管理Region的机器 Region:HBase中的数据都是按row-key进行排序的,对这些按row-key排序的数据进行水平切分,每一片称为一个Region,它有startkey和endkey,Region的大小可以配置,一台RegionServer中可以放多个Region,表的行范围数据抽象 namespace: 在hbase中没有数据库的概念 , 使用namespace来实现DB的作用 表: hbase中有表的概念 ,是一张非常大的表 ,可以几十亿行,上百万列 rowkey:行建 , 行的唯一标识,数据排序 ,查询索引等行建是hbase设计的关键 CF:列族。一个列族中的所有列存储在相同的HFile文件中 HFile:HFile就是Hadoop磁盘文件,一个列族中的数据保存在一个或多个HFile中,这些HFile是对列族的数据进行水平切分后得到的。 MemStore:HFile在内存中的体现。当我们update/delete/create时,会先写MemStore,写完后就给客户端response了,当Memstore达到一定大小后,会将其写入磁盘,保存为一个新的HFile。HBase后台会对多个HFile文件进行merge,合并成一个大的HFile 详解内容尽在原理加强篇 本章目录
1 什么是Hbase
通过横向添加RegionSever的机器,进行水平扩展,提升Hbase上层的处理能力,提升Hbsae服务更多Region的能力。2 hbase能做什么
3 hbase架构设计
4 核心概念
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算