美文网首页
大数据入门:HBase数据模型详解

大数据入门:HBase数据模型详解

作者: 成都加米谷大数据 | 来源:发表于2020-12-03 18:03 被阅读0次

Hbase作为Hadoop生态当中的NOSQL数据库,基于HDFS去完成实际的数据存储任务,高性能是得到普遍的认可的。而Hbase在存储上的高性能,与自身的数据模型设计有很大的关系。今天的大数据入门分享,我们就来讲讲,Hbase数据模型的相关知识。

根据定义,我们知道Hbase是一个支持分布式的列式数据库,尤其是针对于大型数据的实时、随机的读写访问,Hbase能够提供很好的功能支持。

一、HBase的数据模型

Hbase的数据模型,我们需要从两个维度来理解,一是逻辑模型,二是物理模型。

逻辑模型

HBase来源于GoogleBigTable的开源,大部分特性和BigTable相同,可以理解为是一个稀疏的,长期存储的,多维度和排序的映射表,表中的每一行可以有不同的列。

HBase中最基本的单位是列,一列或者多列构成了行,行有行键(RowKey),每一行的RowKey都是唯一的,相同行键的put操作被认为是对该行的更新操作。

HBase的表有若干行,每行有很多列,列中的值有多个版本,每个版本的值称之为一个单元格,每个单元格存储的不同时刻该列的值。

物理模型

在逻辑上来说,HBase表是稀疏的行的集合,但是在物理上,HBase表是按列分开存储的。

按照列来划分列族(创建表的时候指定),存储每一行的不同列的物理文件,一个列族的数据存放在多个HFile中,一个列族的数据会被同一个region管理,物理上存放在一起。

二、HBase数据模型的核心概念

Namespace(表命名空间):表命名空间不是强制的,默认是default。当想把多个表分到一个组去统一管理的时候才会用到表命名空间。

Table(表):一个表由一个或者多个列族组成。它有一些数据属性,比如超时时间(TTL),压缩算法(COMPRESSION)等,都在列族的定义中定义。定义完列族后表是空的,只有添加了行,表才有数据。

Row(行):一个行包含了多个列,这些列通过列族来分类。行中的数据所属列族只能从该表所定义的列族中选取,不能定义这个表中不存在的列族,否则你会得到一个NoSuchColumnFamilyException。

Column Family(列族):列族是多个列的集合。HBase会尽量把同一个列族的列放到同一个服务器上,这样可以提高存取性能,并且可以批量管理有关联的一堆列。所有的数据属性都是定义在列族上。在HBase中,建表定义的不是列,而是列族。

Column Qualifier(列):多个列组成一个行。列族和列经常用Column Family:Column Qualifier来一起表示。列是可以随意定义的,一个行中的列不限名字、不限数量,只限定列族。

Cell(单元格):一个列中可以存储多个版本的数据,而每个版本就称为一个单元格(Cell),HBase中的数据细粒度比传统数据结构更细一级,同一个位置的数据还细分成多个版本。

Timestamp(时间戳/版本号):既可以把它称为是时间戳,也可以称为是版本号,因为它是用来标定同一个列中多个单元格的版本号的。

关于大数据入门,HBase数据模型详解,以上就为大家做了详细的介绍了。Hbase的数据模型,是支持Hbase实现高性能数据存储的重要概念,要搞懂Hbase,需要对这些概念理解清楚透彻才行。

相关文章

  • 大数据入门:HBase数据模型详解

    Hbase作为Hadoop生态当中的NOSQL数据库,基于HDFS去完成实际的数据存储任务,高性能是得到普遍的认可...

  • HBase - 总结

    一、HBase简介 1.1 定义 1.2 HBase数据模型 1.2.1 HBase逻辑结构 1.2.2 HBas...

  • (转)HBase详细概述

    本文首先简单介绍了HBase,然后重点讲述了HBase的高并发和实时处理数据 、HBase数据模型、HBase物理...

  • HBase入门学习

    HBase的数据模型 HBase基于HDFS进行底层数据存储,HBase是谷歌内部工具BigTable的一个开源实...

  • HBase

    HBase定义 HBase是一种分布式、可扩展、支持海量数据存储的NoSQL数据库。 HBase结构 数据模型 1...

  • HBase 数据模型

    理解 HBase 的数据模型,能够更好的理解 HBase 针对 Region 的操作(Split、Compact等...

  • 大数据 | Hbase笔记二(基础设计与案例)

    就像上篇Hbase文中所说,Hbase数据模型和关系型数据库有很大不同。因此Hbase数据库的设计与关系型数据库也...

  • HBASE学习笔记

    本文是对Hbase组件的一个学习总结,共包括如下章节的内容: Hbase是什么 Hbase的数据模型 Hbase体...

  • Hbase学习资料

    HBase数据模型解析和基本的表设计分析 Hbase原理、基本概念、基本架构 HBase 超详细介绍 Apache...

  • HBase数据模型

    逻辑视图 HBaseRDS表TableTable行RowRow列Column Family:QualifierCo...

网友评论

      本文标题:大数据入门:HBase数据模型详解

      本文链接:https://www.haomeiwen.com/subject/jbfvwktx.html