HBase的基础认识

HBase的基础知识

文章名称:HBase的基础知识

文章内容:将简单描述HBase的知识点,和对HBase 能够有简单的认识

文章作者:爱划水的潇洒哥

提示:以下内容为个人学习的总结,更多详细资料需您自行查阅。

前言:Hadoop采用Java语言开发,是对Goolgle的 MapReduce、GFS 和 BigData等核心技术的开源实现。基于谷歌的三驾马车开源实现的分布式大数据开发平台,MapReduce是Hadoop的核心组件。


目录

  • HBase是什么

  • HBase有什么用

  • HBase优缺点

  • HBase架构

HBase是什么

HBase是一个开源的、分布式、版本化的非关系型数据库,利用HDFS提供分布式数据存储。

HBase采用了Google BigData稀疏的面向列的数据库的实现方式的原理,建立在HDFS上,一方面用了HDFS的高可靠性和可伸缩性。一方面类似BigData的分布式数据库,大部分特性和BigData一样,是一个稀疏的,长期存储的,多维度、排序的映射表。


HBase有什么用

HBase是可随机访问的存取和检索数据的存储平台,存储结构化和半结构化数据(网站可将网页内容,日志信息存在HBase)

目的:存储并处理大型数据

补充:

结构化数据:关系型数据库,以表形式管理数据

半结构化数据:非关系型模型的,有基本固定结构模型的数据(XML、HTML、Json文件、日志文件)

非结构化数据:没有固定模型数据(word、PDF、PPT、图片、视频)

关系型数据库:“多对多,一对多,一对一”

非关系型数据库:“一列为一个记录,键值对,文档”


HBase优缺点

HBase 是典型的 NoSQL 数据库,通常被描述成稀疏的、分布式的、持久化的,由行键、列键和时间戳进行索引的多维有序映射数据库,主要用来存储非结构化和半结构化的数据。

因为 HBase 基于 Hadoop 的 HDFS 完成分布式存储,以及MapReduce 完成分布式并行计算,所以它的一些特点与 Hadoop 相同,依靠横向扩展,通过不断增加性价比高的商业服务器来增加计算和存储能力。

HBase 虽然基于 Bigtable 的开源实现,但它们之间还是有很多差别的,Bigtable 经常被描 述成键值数据库,而 HBase 则是面向列存储的分布式数据库。

(HBase 是当前,以及未来最实用的数据库之一)

优势

  • 容量巨大 (一个单表可有百亿、百万列,可横向,纵向插入数据,弹性巨大)

  • 列存储 (它每个列是单独存储,支持独立检索,读取,插入数据相对容易)

  • 稀疏性 (HBase中的数据是以字符串形式存储的,为空的列并不占用存储空间,表可以设计成十分稀疏)

  • 扩展性强 (HBase工作在HDFS上,支持分布式表,也继承了HDFS的可扩展性,HBase可扩展性是横向的)

  • 高可靠性 (HBase工作在HDFS上,HDFS数据有备份,WAL机制保证了数据写入时不会因工作集群异常而导致写入数据丢失)

缺点:

  • 单一RowKey固有的局限性决定了它不可能有效地支持多条件查询

  • 不适合于大范围扫描查询

  • 不直接支持 SQL 的语句查询


HBase架构

 

上图展示了 HBase 的系统架构,包括客户端、ZooKeeper 服务器、HMaster 主服务器和 RegionServer。Region 是 HBase 中数据的物理切片,每个 Region 中记录了全局数据 的一小部分,并且不同的 Region 之间的数据是互不重复的

客户端

Client,包含访问HBase接口,是整个HBase系统的入口

Region Server(连接客户)

负责处理数据的读写请求,客户端请求数据时直接和Region Server交互

HBase Master(分配任务)

负责Region的分配,DDL(创,删操作)

Zookeeper

负责维护协调,集群状态

上面的组件式如何一起工作?

Zookeeper用来协调系统中的集群状态信息共享,Region Server和HMaster 和 Zookeeper保持会话,Zookeeper通过心跳检测来维护所有 临时结点


总结

本次HBase知识点过于琐碎,导致没有完整的写完还有一些HBase的模型概念,模型名称没有描述,还有 HBase shell 的一些指令 在后续会补上。本次参考了一份教案目前还在学习整理中,还有太多太多未学习的,还需个人自身学习多一点才有东西更新。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码

)">
< <上一篇
下一篇>>