1.HBase(NoSQL:不是关系型数据库)的逻辑数据模型

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

1.1 表(table),是存储管理数据的。
1.2 行键(row key),类似于MySQL中的主键。
  行键是HBase表天然自带的。
1.3 列族(column family),列的集合。
  HBase中列族是需要在定义表时指定的,列是在插入记录时动态增加的。
  HBase表中的数据,每个列族单独一个文件。
1.4 时间戳(timestamp),列(也称作标签、修饰符)的一个属性。
  行键和列确定的单元格,可以存储多个数据,每个数据含有时间戳属性,数据具有版本特性。
  如果不指定时间戳或者版本,默认取最新的数据。
1.5 存储的数据都是字节数组。
1.6 表中的数据是按照行键的顺序物理存储的。

2.HBase的物理数据模型

2.1 HBase是适合海量数据(如20PB,1024T=1P)的秒级简单查询的数据库。
2.2 HBase表中的记录,按照行键进行拆分, 拆分成一个个的region。
  许多个region存储在region server(单独的物理机器)中的。
  这样,对表的操作转化为对多台region server的并行查询。

3.HBase的体系结构


3.1 HBase是主从式结构,HMaster、HRegionServer

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

HBase中有两张特殊的Table,-ROOT-和.META.

1、.META.:记录了用户表的Region信息,.META.可以有多个regoin

2、-ROOT-:记录了.META.表的Region信息,-ROOT-只有一个region Zookeeper中记录了-ROOT-表的location

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

转载于:https://www.cnblogs.com/ahu-lichang/p/6675640.html

HBase的基础知识相关推荐

  1. Hadoop学习笔记—15.HBase框架学习(基础知识篇)

    Hadoop学习笔记-15.HBase框架学习(基础知识篇) HBase是Apache Hadoop的数据库,能够对大型数据提供随机.实时的读写访问.HBase的目标是存储并处理大型的数据.HBase ...

  2. Spark基础知识解答

    Spark基础知识解答 一. Spark基础知识 1. Spark是什么? UCBerkeley AMPlab所开源的类HadoopMapReduce的通用的并行计算框架. Spark基于mapred ...

  3. Hadoop之Hadoop基础知识面试复习

    Hadoop之Hadoop基础知识常问面试题 列举几个hadoop生态圈的组件并做简要描述. Zookeeper:是一个开源的分布式应用程序协调服务,基于zookeeper可以实现同步服务,配置维护, ...

  4. Hadoop权威指南 _03_第I部分Hadoop基础知识_第1章初识Hadoop.

    第I部分Hadoop基础知识 第1章初识Hadoop. 比较喜欢这句极其形象的比喻. "在古时候,人们用牛来拉重物.当一头牛拉不动根圆木时,人们从来没有考虑过要想方设法培育出一种更强壮的牛. ...

  5. 学习hadoop需要具备基础知识

    学习hadoop需要具备基础知识 首先整体上了解Hadoop,包括hadoop是什么,能够做什么,使用场景等,不需要考虑细节问题.在有了整体上的了解后,就开始准备系统地学习hadoop.建议:勿一味学 ...

  6. 最全的spark基础知识解答

    原文:http://www.36dsj.com/archives/61155 一. Spark基础知识 1.Spark是什么? UCBerkeley AMPlab所开源的类HadoopMapReduc ...

  7. 如何全面认识大数据分析的基础知识

    在大数据时代,人们可以获得与分析更多的数据,甚至是与之相关的所有数据,而不再依赖于采样,从而可以带来更全面的认识,可以更清楚地发现样本无法揭示的细节信息.越来越多的人都在学习 大数据相关的技术,而今天 ...

  8. 大数据_03【大数据基础知识】

    大数据_03 [大数据基础知识] 01 大数据概述 02 什么是大数据?(Big Data) 03 传统数据与大数据的对比 04 大数据的特点 4.1 传统数据与大数据处理服务器系统安装对比 4.2 ...

  9. hawk大数据基础知识总结(1)

    一.大数据概述 1.1大数据的概念 大数据一共具有三个特征:(1)全样而非抽样:(2)效率而非精确:(3)相关而非因果. (1)在过去由于缺乏获取全体样本的手段,人们发明了"随机调研数据&q ...

最新文章

  1. GitHub开源:一键生成前后端代码神器
  2. php中 datalist,html5 datalist标签的用法是什么?这里有datalist标签的用法实例
  3. 2022年的几个小目标
  4. 利用tinyproxy在Linux上搭建HTTP Proxy Server
  5. linux系统基本操作命令
  6. 如何判断无法到达目标的拼图_拼图项目的动机和目标
  7. 《linux就该这么学》第六节,计划任务和用户身份管理!
  8. 关于手机端适配的问题(rem,页面缩放)
  9. 极简版ASP.NET Core学习路径及教程
  10. 《掌握需求过程》读书笔记3
  11. 【Gulimall+】免费白嫖内网穿透:小米球ngrok
  12. 2017济南北大青鸟accp和学士后课程的真实情况
  13. 【HAVENT原创】Salesforce (JSforce) 调用示例
  14. html中图片集合,HTML标签大集合
  15. nodejs代码将word转成图片
  16. 小白:测试的逻辑思维
  17. 【Python数据挖掘课程】八.关联规则挖掘及Apriori实现购物推荐
  18. 警惕!建信信托暴雷,是否欺骗用户?
  19. mysql的循环语句(循环插入数据)
  20. ORACLE修改processes和sessions参数

热门文章

  1. php 强制变为整数,强制PHP整数溢出
  2. gradient设置上下渐变_PaintCode Mac使用教程:如何使用渐变色
  3. leetcode1290. 二进制链表转整数 刷新认知,最简单算法题
  4. 多校一道KMP+DP的题
  5. Leaf服务器框架从入门到放弃(一)认识Leaf和安装Leaf环境
  6. mysql hp ux_hp ux apa 切换
  7. C++primer 第 3 章 字符串、向量和数组 3 . 3 标准库类型vector
  8. 密码机 密钥管理项目安装配置 从零开始
  9. java蓝桥杯 试题-基础练习-数列排序
  10. 设置 git pull 无需输入账号和密码