在HBase中,数据存储在具有行和列的表中。这是与关系数据库(RDBMS)的术语重叠,但这并不是一个有用的类比。相反,将HBase表视为多维映射会有所帮助。

HBase数据模型术语


一个HBase表由多行组成。


HBase中的一行由行键和一列或多列与它们相关联的值组成。行在存储时按行键按字母顺序排序。因此,行键的设计非常重要。目的是以相关行彼此靠近的方式存储数据。常见的行rowkey模式是网站域。如果行键是域,则可能应该反向存储它们(org.apache.www,org.apache.mail,org.apache.jira)。这样,表中所有的Apache域都彼此靠近,而不是根据子域的第一个字母散布开来。


HBase中的列由列族和列限定符组成,它们由:(冒号)字符分隔。

列族
出于性能考虑,列族实际上将一组列及其值并置在一起。每个列族都有一组存储属性,例如是否应将其值缓存在内存中,如何压缩其数据或对其行键进行编码等。表中的每一行都具有相同的列族,尽管给定的行可能不会在给定的列族中存储任何内容。

列限定词
将列限定符添加到列族,以提供给定数据段的索引。给定列族内容,列限定符可能是content:html,另一个可能是content:pdf。尽管列族在创建表时是固定的,但列限定符是可变的,并且行之间的差异可能很大。

Cell
单元格是行,列族和列限定符的组合,并包含一个值和一个时间戳,代表该值的版本。

时间戳
时间戳记与每个值一起写入,并且是值的给定版本的标识符。默认情况下,时间戳表示写入数据时在RegionServer上的时间,但是在将数据放入单元格时,可以指定其他时间戳值。

举个例子
该表中看起来为空的单元格在HBase中不占用空间,或者实际上不存在。 这就是使HBase“稀疏”的原因。 表格视图不是查看HBase中数据的唯一可能方法,甚至不是最准确的方法。 以下代表与多维Map相同的信息。 这仅是出于说明目的的模型,可能并非严格准确。

{"com.cnn.www": {contents: {t6: contents:html: "<html>..."t5: contents:html: "<html>..."t3: contents:html: "<html>..."}anchor: {t9: anchor:cnnsi.com = "CNN"t8: anchor:my.look.ca = "CNN.com"}people: {}}"com.example.www": {contents: {t5: contents:html: "<html>..."}anchor: {}people: {t5: people:author: "John Doe"}}
}

尽管从概念上讲,表可以看作是行的稀疏集合,但它们实际上是按列族存储的。 可以随时将新的列限定符(column_family:column_qualifier)添加到现有的列族。

概念视图中显示的空单元格根本不存储。 因此,在时间戳记t8处对content:html列的值的请求将不返回任何值。 同样,在时间戳t9处请求anchor:my.look.ca值的请求将不返回任何值。 但是,如果未提供时间戳,则将返回特定列的最新值。 给定多个版本,因为时间戳以降序存储,所以最新的也是找到的第一个版本。 因此,如果未指定时间戳,则对com.cnn.www行中所有列的值的请求为:来自时间戳t6的content:html的值,来自时间戳t9的anchor:cnnsi.com的值, 时间戳记t8中的anchor:my.look.ca。

Hbase数据模型入门相关推荐

  1. 2021年大数据HBase(三):HBase数据模型!!!【建议收藏】

    全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 前言 Hbase数据模型 术语: 系列历史文章 2021年大 ...

  2. HBASE从入门到精通

    一. HBase技术介绍 HBase简介 HBase – Hadoop Database,是一个高可靠性.高性能.面向列.可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大 ...

  3. 大数据技术之HBase(一)HBase简介、HBase快速入门、HBase进阶

    文章目录 1 HBase 简介 1.1 HBase 定义 1.2 HBase 数据模型 1.2.1 HBase 逻辑结构 1.2.2 HBase 物理存储结构 1.2.3 数据模型 1.3 HBase ...

  4. 2 HBase数据模型

    HBase数据模型 数据模型解析 专业术语 NameSpace: Table: RowKey: Column Family: Column Qualifier: Cell: Timestamp: 小结 ...

  5. 带你了解 HBase 数据模型和 HBase 架构

    摘要:HBase 是一个面向列的 NoSQL 数据库. 本文分享自华为云社区<HBase 架构:HBase 数据模型 & HBase 读/写机制>,作者: Donglian Lin ...

  6. HBase数据模型解析和基本的表设计分析

     编辑 删除 最近在学习HBase的使用,并仔细阅读了一篇官方推荐的博客,在这里就以一边翻译一边总结的方式和大家一起梳理一下HBase的数据模型和基本的表设计思路. 官方推荐的博客原文地址:htt ...

  7. HBase数据模型与整体架构

    目录 1.HBase的特点 2.HBase数据模型 2.1.HBase逻辑架构 2.2.HBase物理存储 3.HBase整体架构 HBase原理深入: HBase原理深入_李嘉图呀李嘉图的博客-CS ...

  8. 【Hadoop】HBase 数据模型(Data Model)

    Data Model 在HBase中,数据是存储在有行有列的表格中.这是与关系型数据库重复的术语,并不是有用的类比.相反,HBase可以被认为是一个多维度的映射. HBase数据模型术语 Table( ...

  9. Hbase(四)hbase 数据模型进阶

    1.4 hbase 数据模型进阶 row key timestamp CF1 CF2 CF3 11248112 t3   CF2:m1=val1 CF3:k3=val3 t2 CF1:q2=val2 ...

最新文章

  1. 群体决策是如何误入歧途的
  2. 普华永道2030汽车产业报告 私家车真正Out了!
  3. WebRTC编译系统之GYP,gn和ninja
  4. Hibernate+mysql 中文问题解决方案.
  5. hihocoder 1580 Matrix(北京icpc2017网络赛)
  6. Linux学习笔记(一)——简介
  7. java怎么录入4位会员号_[Java源码]键盘输入会员卡号,对其格式、位数进行判断,不符合规则会跳转重新输入 | 学步园...
  8. 使用第三方登录百度网盘时提示“由于网络原因无法载入页面 请点击刷新后重试”
  9. 10 Java NIO ServerSocketChannel-翻译
  10. 拓端tecdat|基于keras平台CNN神经网络模型的服装识别分析
  11. 最新SSCI影响因子以及分区名单
  12. python 人脸对比--百度API人脸相似度识别(超简单)
  13. 修改IE浏览器点击右键“查看源文件”时的打开程序
  14. 数据结构与算法(一):时间复杂度和空间复杂度
  15. 大数据压缩处理:数据分卷压缩和分卷压缩解压
  16. spark 终止 运行_如何在数据源运行ou时停止spark流
  17. 苹果XS怎么截屏_苹果发布iOS14,有哪些值得一说的亮点
  18. 中国医科大学2021年12月《中医护理学基础》作业考核试题
  19. Minecraft服务器搭建(官方服务器端)
  20. Witt向量简介 §3.3.2:原像集为Witt向量环的环态射的态射性验证

热门文章

  1. Python 日期计算:计算某日期前几天,后几天的日期,也可以计算小时,分钟之后的日期时间
  2. python导入自定义模块_如何Import自定义的Python模块?
  3. pytorch保存.pth文件
  4. 机器学习与知识发现_01机器学习算法整体知识体系与学习路线攻略
  5. 计算机本地磁盘包括,电脑中系统文件夹和本地磁盘各是什么意思?又有什么不同?...
  6. python关机怎样保存seek_在Python中操作文件之seek()方法的使用教程
  7. 模块化加载_webpack模块化原理-异步加载模块
  8. qemu 运行arm linux,在ubuntu bionic下对基于qemu的arm64进行linux内核5.0.1版本的编译和运行...
  9. python爬虫预测_从爬虫到机器学习预测,我是如何一步一步做到的?
  10. shell进入特权模式_GRUB引导下进Linux单用户模式的三种方式,修改root密码