<html>

数据库是保存数据的,在我们工作中是必需要接触到的。接下来说说hadoop中用到的数据库。

HBase:

一、说明是HBase?

HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统。利用HBase技术可在便宜PC Server上搭建起大规模结构化存储集群。HBase利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBase中的海量数据,利用Zookeeper作为协调工具。


例如以下图,是hbase的数据模型


1、逻辑数据模型

2、物理数据模型


3、HBASE中的每一张表,就是所谓的BigTable。稀疏表。
RowKey 和 ColumnKey 是二进制值byte[],按字典顺序排序。
Timestamp 是一个 64 位整数;
value 是一个未解释的字节数组byte[]。

表中的不同行能够拥有不同数量的成员。即支持“动态模式“模型

字符串、整数、二进制串甚至串行化的结构都能够作为行键
表依照行键的“逐字节排序”顺序对行进行有序化处理
表内数据很‘稀疏’,不同的行的列的数全然目能够大不同样
能够仅仅对一行上“锁”
对行的写操作是始终是“原子”的


列必须用‘族’(family)来定义
随意一列有例如以下形式
“族:标签”
当中。族和标签都可为随意形式的串
物理上将同“族”数据存储在一起
数据可通过时间戳区分版本号



表是存放数据的。

表由行和列组成
4、数据模型
 Row Key: 行键,Table的主键。Table中的记录依照Row Key排序
Timestamp: 时间戳,每次数据操作相应的时间戳,能够看作是数据的version number
Column Family:列簇,Table在水平方向有一个或者多个Column Family组成。一个Column Family中能够有随意多个Column组成。即Column Family支持动态扩展,无需预先定义Column的数量以及类型。全部Column均以二进制格式存储。用户须要自行进行类型转换。
5、物理存储
     Table 在行的方向上切割为多个HRegion,一个region由[startkey,endkey)表示。每一个HRegion分散在不同的RegionServer中


6、架构体系
Client  包括訪问hbase 的接口。client 维护着一些cache 来加快对hbase 的訪问,比方regione 的位置信息
Zookeeper
 保证不论什么时候,集群中仅仅有一个running master
 存贮全部Region 的寻址入口
 实时监控Region Server 的状态,将Region server 的上线和下线信息,实时通知给Master
 存储Hbase 的schema,包含有哪些table。每一个table 有哪些column family
Master 能够启动多个HMaster,通过Zookeeper的Master Election机制保证总有一个Master执行
为Region server 分配region
负责region server 的负载均衡
发现失效的region server 并又一次分配其上的region


架构体系
Region Server
维护Master 分配给它的region,处理对这些region 的IO 请求
负责切分在执行过程中变得过大的region

       能够看出,client 訪问hbase 上数据的过程并不须要master 參与,寻址訪问zookeeper 和region server,数据读写訪问regioneserver。

HRegionServer主要负责响应用户I/O请求,向HDFS文件系统中读写数据,是HBase中最核心的模块。



HBase中有两张特殊的Table。-ROOT-和.META.
 .META.:记录了用户表的Region信息。.META.能够有多个regoin
 -ROOT-:记录了.META.表的Region信息,-ROOT-仅仅有一个region
 Zookeeper中记录了-ROOT-表的location

Client訪问用户数据之前须要首先訪问zookeeper,然后訪问-ROOT-表,接着訪问.META.表,最后才干找到用户数据的位置去訪问








版权声明:本文为博主原创文章。未经博主同意不得转载。 举报
  • 本文已收录于下面专栏:

相关文章推荐

NoSql之初识HBase

之前我们一直在介绍hadoop,学习了两个核心内容HDFS和MapReduce。

尽管HDFS能够存储数据,可是我们无法高速的查看所需的数据。这就须要引入还有一个非关系型数据库HBase。 由Ha...

HBASE松散数据存储设计初识

引&lt;o:p&gt;&lt;/o:p&gt; <span

HBASE松散数据存储设计初识

近期关注Hadoop,因此也顺便关注了一下Hadoop相关的项目。HBASE就是基于Hadoop的一个开源项目,也是对Google的BigTable的一种实现。

       BigTable是什么...

HBASE松散数据存储设计初识

引&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;

HBASE松散数据存储设计初识

引近期关注Hadoop。因此也顺便关注了一下Hadoop相关的项目。HBASE就是基于Hadoop的一个开源项目,也是对Google的BigTable的一种实现。

       BigTable是什么?...

HBASE松散数据存储设计初识

引</

HBASE松散数据存储设计初识

引 近期关注Hadoop,因此也顺便关注了一下Hadoop相关的项目。HBASE就是基于Hadoop的一个开源项目。也是对Google的BigTable的一种实现。

       BigTable...

HBASE松散数据存储设计初识

引&lt;?

xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt; <p class="MsoNormal" style="margin: 0cm 0cm 0pt; tex

大数据学习笔记:初识HBase

下载稳定版本号的hbase,放到Windows下的共享目录。在Linux中将其拷贝到/usr/mysoftware/下: Standalone模式 编辑hbase目录下的conf/hbase-si...

HBASE松散数据存储设计初识

引&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;   <p class="MsoNormal" style="margin: 0cm 0cm 0pt;
  • 微博
    微信
    QQ
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多仅仅同意输入30个字)

posted on 2017-08-16 16:50  blfbuaa  阅读(153)  评论(0编辑  收藏  举报