Hbase框架介绍

HBase是一个分布式的、面向列的开源数据库。

不同点:

l  和一般的关系数据库不同,hbase是一个适合于非结构化数据存储的数据库。

l  Hbase是基于列而不是基于行的模式。

在分布式的生产环境中,HBase 需要运行在 HDFS 之上,以 HDFS 作为其基础的存储设施。HBase上层提供了访问的数据的 Java API 层,供应用访问存储在 HBase 的数据。在 HBase 的集群中主要由 Master 和 Region Server 组成,以及 Zookeeper,

基本概念:

l  RowKey

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

l  Timestamp

版本号,类型为Long,默认值是系统时间戳,可由用户自定义

l  ColumnFamily

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

l  Column

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

l  Value(Cell)

单元格由行键、列族、时间戳唯一决定

单元格的数据是没有类型的,全部以字节码形式存储

Hbase组成

l  Master

Hmaster用于调整多个regionServer,侦测各个regionServer之间的状态,并平衡regionServer之间的负载。Hmaster还有一个职责就是分配region给regionServer。

Hmaster允许多个Hmaster节点共存,但是这需要Zookeeper的协助。不过当多个Hmaster节点共存时,只有一个Hmaster是提供服务的,其它的Hmaster节点处于待命的状态。当正在工作的Hmaster节点宕机时,其它的Hmaster则会接管Hbase集群。

l  RegionServer

对于一个regionServer而言,其包括了多个region。regionServer的作用只是管理表格,以及实现读写操作。Client直接连接regionServer,并通信获取Hbase中的数据。

l  Region

Region是hbase中分布式存储和负载均衡的最小单位,但不是最小的存储单元。如个一个表格很大,并由多个CF组成时,那个表的数据将存放在多个region中,并且每个region会关联多个存储单元store。表在行方向分割为多个region,region是按大小分割的,随着region不断增大,当增大到一个阀值的时候,region就会分成两个region。

l  Store

每个region中包含了多个store对象,一个store包含一个memstore和若干个storefile,storefile中包含一个或多个hfile。Memstore存放在内存中,storefile存放在hdfs上。

l  Hfile

Hfile由很多个数据块(block)组成,并且有一个固定的结尾块。其中的数据块是由一个header和多个key-value的键值对组成。在结尾块中包含了数据相关的索引信息,系统也是通过结尾块的索引信息找到hfile中的数据。

[Hbase]Hbase章1 Hbase框架及基本概念的更多相关文章

  1. CentOS6安装各种大数据软件 第六章:HBase分布式集群的配置

    相关文章链接 CentOS6安装各种大数据软件 第一章:各个软件版本介绍 CentOS6安装各种大数据软件 第二章:Linux各个软件启动命令 CentOS6安装各种大数据软件 第三章:Linux基础 ...

  2. 大数据技术之_11_HBase学习_02_HBase API 操作 + HBase 与 Hive 集成 + HBase 优化

    第6章 HBase API 操作6.1 环境准备6.2 HBase API6.2.1 判断表是否存在6.2.2 抽取获取 Configuration.Connection.Admin 对象的方法以及关 ...

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

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

  4. hbase的常用的shell命令&hbase的DDL操作&hbase的DML操作

    前言 笔者在分类中的hbase栏目之前已经分享了hbase的安装以及一些常用的shell命令的使用,这里不仅仅重新复习一下shell命令,还会介绍hbase的DDL以及DML的相关操作. hbase的 ...

  5. Hbase_02、Hbase的常用的shell命令&Hbase的DDL操作&Hbase的DML操作(转)

    阅读目录 前言 一.hbase的shell操作 1.1启动hbase shell 1.2执行hbase shell的帮助文档 1.3退出hbase shell 1.4使用status命令查看hbase ...

  6. Hbase理论&&hbase shell&&python操作hbase&&python通过mapreduce操作hbase

    一.Hbase搭建: 二.理论知识介绍: 1Hbase介绍: Hbase是分布式.面向列的开源数据库(其实准确的说是面向列族).HDFS为Hbase提供可靠的底层数据存储服务,MapReduce为Hb ...

  7. Hbase框架原理及相关的知识点理解、Hbase访问MapReduce、Hbase访问Java API、Hbase shell及Hbase性能优化总结

    转自:http://blog.csdn.net/zhongwen7710/article/details/39577431 本blog的内容包含: 第一部分:Hbase框架原理理解 第二部分:Hbas ...

  8. HBase(十)HBase性能调优总结

    一. HBase的通用优化 1 高可用 在 HBase 中 Hmaster 负责监控 RegionServer 的生命周期,均衡 RegionServer 的负载,如果 Hmaster 挂掉了,那么整 ...

  9. HBase(四)HBase集群Shell操作

    一.进入HBase命令行 在你安装的随意台服务器节点上,执行命令:hbase shell,会进入到你的 hbase shell 客 户端 [admin@node21 ~]$ hbase shell S ...

  10. HBase(一)HBase入门简介

    一 HBase 的起源 HBase 的原型是 Google 的 BigTable 论文,受到了该论文思想的启发,目前作为 Hadoop 的子项目来开发维护,用于支持结构化的数据存储. Apache H ...

随机推荐

  1. ssh架构之hibernate(一)简单使用hibernate完成CRUD

    1.Hibernate简介   Hibernate是一个开放源代码的对象关系映射(ORM)框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,h ...

  2. sql语句查询菜单结果成 树状图类型 注意适用于id是四位数

    select * from ( select pid,id,name,url,concat(id,":") idOrder from menu where pid=0 and st ...

  3. unity中Android环境变量配置

    http://www.cnblogs.com/windytrees/p/7533477.html

  4. Spring AOP学习笔记

      Spring提供了一站式解决方案:          1) Spring Core  spring的核心功能: IOC容器, 解决对象创建及依赖关系          2) Spring Web ...

  5. python--第一天总结

    [变量]1.变量定义的规则: 变量名只能是 字母.数字或下划线的任意组合    变量名的第一个字符不能是数字    以下关键字不能声明为变量名    ['and', 'as', 'assert', ' ...

  6. numpy.random.uniform()

    numpy.random.uniform均匀分布 2018年06月19日 23:28:03 徐小妹 阅读数:4238   numpy.random.uniform介绍: 1. 函数原型:  numpy ...

  7. Linux系统一本通(实用篇)

    本人最近一直在ubuntu,接下来和大家分享我曾经踩过的坑,和一些非常实用的命令知识- 安装中的磁盘分配 一般来说,在linux系统中都有最少两个挂载点,分别是/ (根目录)及 swap(交换分区), ...

  8. Efficiency optimizing

    *low efficiency l_it_alv_stpox[] = g_it_alv_stpox[]. SORT l_it_alv_stpox BY zz_matnr idnrk. LOOP AT ...

  9. TableViewCell去除选中效果

    - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ [tableV ...

  10. php解析优酷网上的视频资源去广告

    1.过程原理解析: 一.准备工作 所谓工欲善其事必先利其器,做好破解的准备工作会令你事半功倍. 1.首先准备一个Http抓包工具,PC上推荐Fiddler或者Postman,iOS上推荐Surge 2 ...