大数据学习笔记-------------------(29)

2017/03/14 17:26
阅读数 89

第五部分HBASE学习

该部分,主要对HIV学习笔记进行记录,学习资料翻译自《hbase_tutorial.pdf》,学习网站:www.tutorialspoint.com

该部分为10个章节来学习HBASE:

Ø  第29章 HBASE介绍

Ø  第30章 HBASE架构与安装

Ø  第31章 HBASE的SHELL

Ø  第32章 HBASE普通命令

Ø  第33章 HBASE ADMINAPI

Ø  第34章 表的操作

Ø  第35章 关闭HBASE与CLIENT API

Ø  第36章 数据操作

Ø  第37章 HBASE SCAN与COUNT/TRUNCATE

Ø  第38章 HBASE 安全

第29章 HBASE介绍

         自从1970年起,RDBMS(关系型数据库管理系统)是数据存储系统的解决方案,但是存在一些关联问题。在出现大数据之后,企业意识到处理大数据的益处,开始选择像Hadoop的这样的解决方案。

       Hadoop使用DFS(分布式文件系统)来存储大数据,MapReduce用来处理大数据。Hadoop可以存储和处理各种格式的大数据,如任意、半结构、非结构的数据格式。

Ø  Hadoop限制

         Hadoop只能执行批处理,并且数据只能以顺序方式访问。这意味着,即使对于最简单的作业,也必须搜索整个数据集。一个巨大的数据集在处理时产生另一个巨大的数据集,也应该按顺序处理。 在这一点上,需要新的解决方案来在单个时间单元(随机存取)中访问任何数据点。

Ø  Hadoop随机访问数据库

         应用程序诸如HBase,Cassandra,couchDB,Dynamodb和MongoDB等用来存储大量数据并以随机方式访问数据的一些数据库。

29.1 HBase是什么?

         HBase是一个基于分布式列的数据库,建立在Hadoop文件系统之上。 它是一个开源项目,可以水平扩展。HBase是一个数据模型,类似于Google的大表,该表旨在对大量结构化数据的快速随机访问。HBase利用Hadoop文件系统(HDFS)提供的容错功能。它是Hadoop生态系统的一部分,该部分提供对Hadoop文件系统中数据的随机实时读/写访问的权限。可以直接或通过HBase将数据存储在HDFS中。数据消费者使用HBase随机读取/访问HDFS中的数据。HBase位于Hadoop文件系统之上,提供读写访问。HBase与HDFS、数据消费者、数据生产者的关系模型如下:


29.2 HBase与HDFS


29.3 HBase存储机制

         HBase是一个面向列的数据库,该数据库上的表通过行(Row)排序。表模式仅定义列族,它们是键值对。表具有多个列族,每个列族可以具有任意数量的列。后续列值连续存储在磁盘上。表的每个单元格值都有一个时间戳。 总之,在HBase中:

Ø  表示一个行集合

Ø  Row(行)是一个列族(ColumnFamilies)集合

Ø  列族(ColumnFamilies)是一个列集合

Ø  列是一个键/值对集合

如下,给出HBase中表的模式:

        

29.4 面向列和面向行

面向列的数据库是将数据表存储为数据列的部分,而不是作为数据行。很快,将有列族


下图显示一个面向列的数据库中的列族:

      

29.5 HBase与RDBMS


29.6 HBase优点

(一)  HBase是线性可扩展的。

(二)  它具有自动故障支持。

(三)  它提供一致的读和写。

(四)  它与Hadoop集成,既作为源,又作为目的地。

(五)  它为客户端提供了简单的Java API。

(六)  它提供跨集群的数据复制。

29.7 HBase使用场景

         ApacheHBase用于对大数据进行随机、实时的读/写访问;它在商品硬件群集上托管非常大的表;ApacheHBase是一个非关系数据库,建模在Google的Bigtable之后。 Bigtable在Google文件系统上运行,同样ApacheHBaseHadoopHDFS之上工作。

29.8 HBase的应用

         它用于需要写大的应用程序时;只要需要提供对可用数据的快速随机访问,就会使用HBaseFacebook、Twitter、YahooAdobe等公司在内部使用HBase

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部