首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

走进Hbase

One.什么是Hbase?

阿帕奇HBASE是Hadoop数据库,一个分布式的,可伸缩的,大数据存储。

主要是对大数据进行随机、实时读写访问,这个项目的目标是在商品硬件集群之上托管非常大的表-数十亿行X百万列-。ApacheHBASE是一个开源的、分布式的、版本化的、非关系数据库,它是模仿google的Bigtable:一种结构化数据的分布式存储系统.正如BigTable利用Google文件系统提供的分布式数据存储一样,ApacheHBASE在Hadoop和HDFS之上提供了类似BigTable的功能。

Two.Hbase的特征

线性和模块化可伸缩性。

严格一致的读写。

表的自动可配置分块

区域服务器之间的自动故障转移支持。

使用ApacheHBASE表支持HadoopMapReduce作业的方便基类。

易于使用JavaAPI进行客户端访问。

用于实时查询的块缓存和Bloom过滤器。

通过服务器端筛选器向下推查询谓词

节省网关和支持xml、protobuf和二进制数据编码选项的REST式web服务。

可扩展的基于JRuby的shell(JIRB)

支持通过Hadoop度量子系统将度量导出到文件或Ganglia;或通过JMX

Three.Hbase的表结构

Hbase也被称为列式存储数据库,所以说它独有个东西叫做列族,列族下面可以有多个列,存几个列由你决定,然后由一个叫做rowkey(行键)的东西来标识唯一一条记录,相同的rowkey是一条记录,而且rowkey不能为null

Four.Hbase的体系架构

Hbase同样是基于hdfs之上的数据库,所以Hbase的结构也是主从架构,分为主节点和从节点.hbase的主节点角色名叫做HMaster,从节点角色名叫做RegionServer, 在RegionServer中存储数据的是若干个Region,每个region存储数据都是先从内存:memstore写入文件写入到Store File中(每个Store File 对应一个列族),然后再由若干个Store File存入到Hfile,然后这个Hfile才是真正存储到hdfs上的文件,hbase存储的表最终在hdfs上还是以目录形式存在的,hbase的数据最终还是以这个目录中的文件的形式存储在hdfs上.

Five.Hbase数据存储的过程

Hbase数据存储的过程也是数据分裂的过程,因为随着我们的数据不断的存入hbase中,这些数据存储在一个Region下,但是随着数据的不断的存储,肯定会导致RegionServer存不下,那么这个时候就会导致这个region分裂,分裂成若干个小region,然后再把这些小region存储在不同的regionServer下

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190818A0GWWQ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券