什么是HBase?它是怎样工作的?终于有人讲明白了


导读:HBase是一个构建在HDFS之上的、分布式的、支持多版本的NoSQL数据库,它的出现补齐了大数据场景下快速查询数据能力的短板。它非常适用于对平台中的热数据进行存储并提供查询功能。

作者:朱凯

来源:大数据DT(ID:hzdashuju)

01 概述

HBase的出现很好地弥补了大数据快速查询能力的空缺。让我们再次将时间拨回到2006年,那时Hadoop项目已经正式启动,开源社区已经拥有了HDFS和MapReduce。通过HDFS我们拥有了能够存储海量文件的分布式文件系统。通过MapReduce我们拥有了一种对海量数据进行批处理操作的途径。

但是这还不够,我们在大数据领域还没有一款能够称为数据库的产品。就在2006年年末,Google发表了著名的Bigtable论文。此后HBase便诞生了。

HBase是一个构建在HDFS之上的、分布式的、支持多版本的NoSql数据库。它也是Google BigTable的开源实现。HBase非常适合于对海量数据进行实时随机读写。HBase中的一张表能够支撑数十亿行和数百万列。

HBase从设计上来讲是一个由三类服务组成的Master/Slave架构服务。HBase Master进程负责处理Region分配、DDL(create、delete表)这类操。数据的读写由RegionServers进程负责处理。底层数据存储和集群协同管理则交由HDFS和Zookeeper进行管理,如图2-6所示。

▲图2-6 HBase逻辑架构图

HBase的所有数据最终都以HDFS文件的形式进行存储,Region Server服务通常是伴随着HDFS的Datanode进行部署的,这样可以更好地利用数据本地性的优势。

HBase采用主从架构。其分布式协调是通过Zookeeper进行管理的,而数据的物理存储最终会以文件的形式存储到HDFS。

02 数据模型

HBase是一个NoSQL数据库,它通过一个四维数据模型定义数据,如图2-7所示。

  • RowKey:HBase中的每行数据都必须拥有一个唯一的行键,它类似于关系型数据库中的主键。

  • Column Family:HBase中的每个列都归属于一个列簇&

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值