HBASE概念:

  HBASE是一个分布式架构的数据库,通过对数据进行多层的分块打散储存。从而改写传统数据库的储存能力和读取速度。

HBASE的集群服务器:

  HBASE的集群主要分为Zookeeper集群,Master集群,RegionSever集群。

    Zookeeper集群:储存Table的Region地址,管理Master和RegionSever服务器间的操作。

    Master集群:进行建表,删表工作和分配Region(管理负载均衡,Split时,重新分配Region)

    RegionSever集群:储存真正数据的地方

数据储存模型:

  分块储存概念:

    1.Hbase的Table会按行进行Region的数据块划分。

    2.Region数据块会被分配给集群的各个(Regionsever)机器上面去。

    3.每个Regin块会再进行Store块划分,每个Store块拥有一个MenStore和0至多个StoreFile

  Region块的信息储存:

    HBase中有两张记录Region信息所在位置的特殊的Table,-ROOT-和.META.

    .META.:记录了各个用户表的Region信息,.META.本身可以有多个regoin,放在RegionSever中

    -ROOT-:记录了.META.表的Region信息,-ROOT-本身只有一个region,放在RegionSever中

    Zookeeper中记录了-ROOT-表的location

  Store块中储存的信息:

    RowKey:是Byte array,是表中每条记录的“主键”,方便快速查找,Rowkey的设计非常重要。

    Column Family:列族,拥有一个名称(string),包含一个或者多个相关列

    Column:属于某一个columnfamily,familyName:columnName,每条记录可动态添加

    Version Number:类型为Long,默认值是系统时间戳,可由用户自定义

    Value(Cell):Byte array

数据流程:

  创建、修改表:

    1.Client向Zookeeper发送创建表请求,Zookeeper记录日志后传递给HMaster。

    2.HMaster返回可以写入RegionSever给Zookeeper

    3.Zookeeper把创建的表和Regionsever的关系通过ROOT表和META表记录下来

    4.以后进行表操作则不用经过HMaster,直接从Zookeeper中获取对应的RegionSever地址

  操作表:

    1.Client向Zookeeper发送操作数据请求

    2.Zookeeper检查缓存中是否有目标表与RegionSever的关系

    3.从Zookeeper中抽取ROOT表和META表读取目标表与RegionSever的关系

    4.到对应的RegionSever中进行Hlog日志记录并找到对应的StoreFile进行数据操作

    5.把最后的Hlog和StoreFile储存到HDFS中

参考资料:

http://www.cnblogs.com/JemBai/archive/2012/07/21/2602432.html

http://www.uml.org.cn/sjjm/201212141.asp#6

http://www.csdn.net/article/2014-02-17/2818431-HDFS+MapReduce+Hbase

http://blog.csdn.net/woshiwanxin102213/article/details/17584043

http://www.cnblogs.com/hark0623/p/5571193.html

http://tangay.iteye.com/blog/736871

HBASE学习笔记-初步印象的更多相关文章

  1. HBase学习笔记之HBase的安装和配置

    HBase学习笔记之HBase的安装和配置 我是为了调研和验证hbase的bulkload功能,才安装hbase,学习hbase的.为了快速的验证bulkload功能,我安装了一个节点的hadoop集 ...

  2. HBASE学习笔记(四)

    这两天把要前几天的知识点回顾一下,接下来我会用自己对知识点的理解来写一些东西 一.知识点回顾 1.hbase集群启动:$>start-hbase.sh ===>hbase-daemon.s ...

  3. HBase学习笔记之BulkLoad

    HBase学习之BulkLoad bulkload的学习以后再写文章. 参考资料: 1.https://blog.csdn.net/shixiaoguo90/article/details/78038 ...

  4. HBase学习笔记之HBase原理和Shell使用

    HBase学习指南之HBase原理和Shell使用 参考资料: 1.https://www.cnblogs.com/nexiyi/p/hbase_shell.html,hbase shell

  5. HBase学习笔记(四)—— 架构模型

    在逻辑上,HBase 的数据模型同关系型数据库很类似,数据存储在一张表中,有行有列. 但从 HBase 的底层物理存储结构(K-V)来看,HBase 更像是一个 multi-dimensional m ...

  6. Hbase学习笔记01

    最近做项目接触到了HDFS.mapreduce以及Hbase,有了实战机会,今天打算将这些知识好好总结下,以备不时之需.首先从Hbase开始吧. Hbase是建立在HDFS上的分布式数据库,下图是Hb ...

  7. HBase学习笔记-高级(一)

    HBase1. hbase.id记录了集群的唯一标识:hbase.version记录了文件格式的版本号2. split和.corrupt目录在日志分裂过程中使用,以便保存一些中间结果和损坏的日志在表目 ...

  8. HBASE学习笔记--API

    HBaseConfiguration HBaseConfiguration是每一个hbase client都会使用到的对象,它代表的是HBase配置信息.它有两种构造方式: public HBaseC ...

  9. Hbase—学习笔记(一)

    此文的目的: 1.重点理解Hbase的整体工作机制 2.熟悉编程api,能够用来写程序 1.  什么是HBASE 1.1.   概念特性 HBASE是一个数据库----可以提供数据的实时随机读写 HB ...

随机推荐

  1. PDF 补丁丁 0.5.0.2713 发布(替换字库功能修正字符宽度问题)

    新版本替换字库后,采用新字库的字符宽度.基本上可以满足一般的字库替换需求.请下载新版本测试.

  2. ORACLE 自定义聚合函数

    用户可以自定义聚合函数  ODCIAggregate,定义了四个聚集函数:初始化.迭代.合并和终止. Initialization is accomplished by the ODCIAggrega ...

  3. 自己不懂的SQL语句用法

    left  join:是SQL语言中的查询类型,即连接查询.它的全称为左外连接,是外连接的一种. 连接通常可以在select语句的from子句或where子句中建立,其语法格式为: select  c ...

  4. linux设备模型

    device_driver和device必须依附总线.总线.驱动.设备最终会落实为sysfs中的一个目录.kobject对应sysfs的一个目录. attribute直接落实sysfs中的一个文件,如 ...

  5. 新手要想学好Linux系统就必须做好这四件事情

    一般情况下,大部分人接触Linux的机会并不多,对Linux平台下的开发更是一无所知.而现在的发展趋势却越来越表明:无论是作为一个优秀的软件开发人员,或是互联网.IT行业的从业人员,掌握Linux是一 ...

  6. Spring4.1新特性——Spring缓存框架增强(转)

    目录 Spring4.1新特性——综述 Spring4.1新特性——Spring核心部分及其他 Spring4.1新特性——Spring缓存框架增强 Spring4.1新特性——异步调用和事件机制的异 ...

  7. DevExpress--navBarControl控件

    一.在工具箱Navigation&Layout下找到控件navBarControl,拽到相应的位置. 二.点击控件右上角的小三角,对其进行设计:如下图 点Add group可迅速添加组列表,点 ...

  8. 如何用python搞定验证码中的噪点

    背景:朋友在为"关山口男子职业技术学校"写一款校园应用,于是找MoonXue写一个学生选课系统的登录接口.为了搞定这个接口,不得不先搞定这个系统的验证码. 验证码大概是这个样子 看 ...

  9. Bootstrap <基础十八>面包屑导航(Breadcrumbs)

    面包屑导航(Breadcrumbs)是一种基于网站层次信息的显示方式.以博客为例,面包屑导航可以显示发布日期.类别或标签.它们表示当前页面在导航层次结构内的位置. Bootstrap 中的面包屑导航( ...

  10. android studio集成融云 SDK 后在部分机型启动对话时崩溃

    最初构建项目是 eclipse, 后来切换到 android studio来做开发. 后来多个用户反馈在android4.4机型上存在启动对话崩溃的问题.但是IOS 版工程从来没有重现. 调试报错信息 ...