Hbase入门(一)——Hbase简介

一、应用场景及特点

1. HBase能做什么

海量数据存储(百亿*百万)

准实时查询(百毫秒查询)-->1秒内完成查询

2. 实际业务场景中的应用

交通:长江航道中船舶的GPS信息;路口摄像头违章拍照

金融:存取款,借还款

电商:淘宝-》订单,物流,浏览记录

移动端:通话记录等等

3.特点

海量存储:(百亿*百万)传统数据(单表500w,30列)

面向列:动态增加列;存储和权限控制面向列--》只需要少数几个字段的话,大大减少读取的数据量

多版本:每一列的数据存储有多个Version

稀疏性:为空的列不占用存储空间,表可以很稀疏

扩展性:线性扩展,随着数据量增多可以通过节点扩展进行支撑

高性能:

①底层LSM数据结构和Rowkey有序排列等架构上的独特设计,使得HBase具有非常高的写入能力。

②region切分、主键索引和缓存机制使得Hbase在海量数据下具备一定的随机读取性能,改性能针对Rowkey的查询能够到达毫秒级别

高可靠性:

4.优势

不同点

传统数据库

Hbase

海量存储

500w*30时健康

百亿*百万

安全

不自带备份

数据存储在hdfs上,备份机制健全

准实时查询

数据达到一定数量开始缓慢,很大的话基本无法支撑

通过zookeeper协调查找数据,访问速度快

存储方式

行存储

列存储

动态增加列

存储和权限控制面向列

只需要少数几个字段的话,大大减少读取的数据量

数据较大时候的切分

人工第三方插件

自动(Region),也支持手动指定Region

高并发读写

支持

不支持

5.劣势

只支持rowkey匹配查询,不支持条件查询等复杂查询

二、概念以及在Hadoop生态中的定义

1. HBase简介

HBASE是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBASE技术可在廉价PC Server上搭建起大规模结构化存储集群。

HBASE的目标是存储并处理大型的数据,更具体来说是仅需使用普通的硬件配置,就能够处理由成千上万的行和列所组成的大型数据。

HBASE是Google Bigtable的开源实现,但是也有很多不同之处。

不同点

Google Bigtable

HBASE

文件存储系统

GFS

Hadoop HDFS

协同服务

Chubby

Zookeeper

相同点

都采用Hadoop MapReduce来处海量数据

 

2. 选择合适的版本

官方版本:http://archive.apache.org/dist/hbase/

CDH版本:http://archive.cloudera.com/cdh5/

三、Hbase架构服务体系与设计模型

1. 服务体系:服务包含哪些进程,进程与进程之间的关系,以及hbase在生态中的关系)

RegionServer向Master汇报:

①健康状态②管理哪些Region(表大的时候进行分区,一个分区就是一个Region)

注意:Zookeeper也知道RegionServer的以上信息

2. 设计模型:表结构模型 和 表数据模型

表结构模型

建表时候定列簇,不用定列

数据模型

  • 一张表的列簇不会超过5个
  • 每个列簇的列数没有限制
  • 列只有插入数据后存在
  • 列在列簇中是有序的

四、安装部署

参照《HBase安装部署》

1. 先决条件

  • JDK1.7 +
  • Hadoop-2.5.0 +
  • Zookeeper-3.4.5 +

五、HBase shell使用

参照《HBase远程连接+常用命令》

猜你喜欢

转载自blog.csdn.net/lishuan182/article/details/89531147