HBase学习
第一章:HBase定义


文章目录

  • 一、HBase定义
  • 二、HBase数据模型
    • 1、HBase逻辑结构
    • 2、HBase 物理存储
    • 3、数据模型
      • 1)、Name Space
      • 2)、Region
      • 3)、Row
      • 4)、Column
      • 5)、Time Stamp
      • 6)、Cell
  • 三、HBase基本架构

一、HBase定义

HBase是一种分布式、可扩展、支持海量数据存储的NoSql数据库

二、HBase数据模型

逻辑上,HBase的数据模型和关系型数据库类似,数据存储在一张表中,有行有列,但HBase的底层物流存储结构(k-v)来看,更像是一个多维度Map。

1、HBase逻辑结构


列族:相当于文件夹,图中name\ctiy\phone表示同一类信息。类似于mysql中宽表的切分
RowKey:行键,
Region:一张表的横向切片,把一张表进行数据切分。类似于mysql中高表的切分。
store: 存储

2、HBase 物理存储


HBase的存储:

表中的每一列的值都需要存储,如上图,切列中多了TimeStamp时间戳,Type数据操作类型,如Put,插入。

上图中,倒数第一、第二条数据发现除了时间戳和value不同,其他都相同,表示更新操作,HBase更新数据是向表中Put一条新的数据,且时间戳大于上一次时间戳,
删除操作通更新,只是Type类型不同,如果Delete的类型的时间戳大于之前的,则不返回数据 。


查询数据默认返回最大版本的TimeStamp

3、数据模型

1)、Name Space

命名空间,类似于关系型数据库的database概念,每个命名空间下有多个表。Hbase有两个自带的命名空间,分别是hbase和default,hbase中存放的是HBase内置的表,default是用户默认的命名空间。

2)、Region

类似关系型数据库中表的概念。不同的是吗,HBase定义表的时候只需要声明列族即可,不需要声明具体的列。也就是说,往HBase写入数据的时候,字段可以使动态、按需指定。因此,和关系型数据库相比,HBase能够轻松应对字段变更的场景。

3)、Row

HBase中每行数据都有一个RowKey和多个Column组成,数据按照RowKey的字典顺序存储的,并且查询数据时候只能根据Rowkey进行检索,所以RowKey的设计十分重要。

4)、Column

HBase中的每个列都是由Column Family(列族)和Column Qualifier(列限定符)进行限定,例如:info:name, info:age。建表时,只需要指明列族,而列限定符无需预先定义。

5)、Time Stamp

用于标识数据不同的版本,每条数据写入时,如不指定时间戳,系统会自动为其加上该字段,并写入HBase时间。

6)、Cell

由{rowkey,Column Family;Column Qualifier,Time Stamp}唯一确定的单元,cell中的数据是没有类型的,全是字节码形式存储。

三、HBase基本架构

第一章:HBase定义相关推荐

  1. C# 线程手册 第一章 线程定义 .NET 和 C# 对线程的支持

    由于.NET Framework 支持自由线程,所以自由线程在所有.NET 语言中都存在,包括C#和VB.NET. 在下一部分,我们将着重关注如何提供这种支持以及更多关于线程是如何做到的,而不再关注线 ...

  2. 数据库原理与应用(SQL Server)笔记 第一章 数据定义语言和数据操纵语言

    文章目录 前言 一.基本介绍 二.在SQL里执行T-SQL语句 三.数据定义语言(DDL) (一)概述 (二)数据定义语言用于数据库 1.创建数据库 2.修改数据库 3.使用数据库 4.删除数据库 5 ...

  3. 第一章----雷达定义和术语(一)

    文章目录 什么是雷达 雷达分类之不同波段 高频(HF)和甚高频(VHF)雷达(A和B频带) 超高频(UHF)雷达(C波段) L波段雷达(D波段) S波段雷达(E和F波段) C波段雷达(G波段) X和K ...

  4. 《HBase 不睡觉》第一章 - 初识 HBase

    <HBase 不睡觉书>是一本让人看了不会睡着的HBase技术书籍,写的非常不错,为了加深记忆,决定把书中重要的部分整理成读书笔记,便于后期查阅,同时希望为初学 HBase 的同学带来一些 ...

  5. VBScript教程-第一章. 脚本的定义和术语

    最近一直很郁闷一件事, 大学毕业开始就有的一本微软脚本指南的书到现在也一点没看. 所以突发奇想想把它读完, 原书为英文, 看起来稍稍有些不爽, 准备顺便翻译并根据这几年积累的那么一点点知识添加和注释一 ...

  6. Java定义变量x初始值为3,JAVA 第一章

    第一章 1.注释: 一个好的开发习惯,应该是多编写注释,这样程序的可读性增强. 单行注释 // 单行注释 ,只注释当前行 多行注释 /* 多行注释 多行注释 */ javadoc 注释 /** jav ...

  7. 怎么利用c 语言编程进行进制计算,编程达人 《汇编、C语言基础教程》第一章 进制1.1 进制的定义(连载)...

    第一章进制 进制跟我们生活是息息相关的,比如时钟是60进制.24进制,星期是7进制等,最常见的就是十进制了.而计算机也离不开进制,计算机是通过二进制进行操作和运算的. 我们为什么要学习进制? 方便我们 ...

  8. 游戏感:虚拟感觉的游戏设计师指南——第一章 定义游戏感

    这是一本游戏设计方面的好书 转自天:天之虹的博客:http://blog.sina.com.cn/jackiechueng 感谢天之虹的无私奉献 Word版可到本人的资源中下载 第一章定义游戏感 游戏 ...

  9. 用Latex写毕业论文-- 用 ctexset 重定义标题(如:第一章)

    最开始我用的 \CTEXsetup[nameformat={第, 章}]{chapter}%\bfseries\songti 命令来试图重定义 chapter 标题为  第一章 这样的形式,然而并没有 ...

最新文章

  1. java之字符串学习记录
  2. 配置oracle 11g环境,oracle 11g 的安装环境的配置
  3. 一个例子理解什么是RPC?
  4. [密码学] 数字签名基础
  5. 《SAP CRM管理与实施指南》一一2.2 SAP CRM基础功能
  6. cygwin 编译 android vlc,Cygwin 编译 VLC 问题
  7. java8-2-Lambda表达式
  8. snmp是什么层协议_率先拥抱TSN——CC-Link发布新一代网络协议CC-Link IE TSN
  9. 群晖 root_群晖洗白简单教程
  10. 【Webcam设计】相机底层工作流程,编程模型
  11. 将json字符串转换成html,根据json字符串生成Html的一种方式
  12. 字符串大小写字母转换c 语言,C语言中对字母进行大小写转换的简单方法
  13. 支付宝免签 个人支付宝到银行卡
  14. 6种时间管理方法概要
  15. 双河市谷歌高清卫星地图下载
  16. 关于c4d默认渲染器的玻璃材质调试
  17. NLP情感分析基础知识
  18. PHP高级计算器的过程,PHP使用栈完成高级计算器-接上文模拟栈
  19. 九连环问题(Java)
  20. html+php教程,HTML入门教程

热门文章

  1. 校企同游快乐工作——湖南工程职院美和易思教师开展素质拓展活动
  2. IPFS如何冲击我们熟知的网络世界
  3. Robot Framework Selenium UI自动化测试 --- 进阶篇
  4. 造型简约的机箱,安装简单兼容性好,安钛克P20C体验
  5. 2021Unity教程:Unity官方中文版免费下载方法(黑皮肤可选)无需破解!
  6. 微信小程序生成二维码工具类附带完整示例和源码
  7. 定积分存在定理与原函数存在定理
  8. 纯CSS画基本图形(矩形、圆形、三角形、多边形、爱心)
  9. 『转』饯行:理想主义终结年代的七种兵器
  10. 三天搞定射频识别技术(二)2.3寻卡防冲突选卡