iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >HBase表的数据模型是什么
  • 237
分享到

HBase表的数据模型是什么

2023-06-30 15:06:03 237人浏览 八月长安
摘要

本篇内容主要讲解“HBase表的数据模型是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“HBase表的数据模型是什么”吧!HBase是运行在hadoop集群上的一个数据库,与传统的数据库有严

本篇内容主要讲解“HBase表的数据模型是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“HBase表的数据模型是什么”吧!

HBase是运行在hadoop集群上的一个数据库,与传统的数据库有严格的ACID(原子性、一致性、隔离性、持久性)要求不一样,HBase降低了这些要求从而获得更好的扩展性,它更适合存储一些非结构化和半结构化的数据。

表(Table)

HBase 中的数据以表的形式存储。同一个表中的数据通常是相关的,使用表主要是可以把某些列组织起来一起访问。表名作为 hdfs 存储路径的一部分来使用,在 HDFS 中可以看到每个表名都作为独立的目录结构。

HBase表的数据模型主要概念包括rowkey、Column Family、Column、cell、Timestamp。

1. rowkey行键

  • table的主键,table中的记录==按照rowkey 的字典序进行排序==

  • rowkey行键可以是任意字符串(最大长度是 64KB,实际应用中长度一般为 10-100bytes)

2. Column Family列族

  • 被称为列族或列簇

  • HBase表中的每个列,都归属与某个列族

  • 列族是表的schema的一部分(而列不是),即建表时至少指定一个列族

  • 比如创建一张表,名为user,有两个列族,分别是userInfoaddressInfo,建表语句create 'user', 'userInfo', 'addressInfo'

3. Column列

  • 列肯定是表的某一列族下的一个列,用列族名:列名表示,如userInfo列族下的name列,表示为userInfo:name

  • 它属于某一个ColumnFamily,类似于我们mysql当中创建的具体的列

4. cell单元格

  • 知道row key行键、列族、列,可以确定的一个cell单元格

  • cell中的数据是没有类型的,全部是以字节数组进行存储

5. Timestamp时间戳

  • 可以对表中的Cell多次赋值,每次赋值操作时的时间戳timestamp,可看成Cell值的版本号version number

  • 即一个Cell可以有多个版本的值

理解数据模型各概念的图

HBase表的数据模型是什么

上表展示的是 HBase 中的用户信息表 user,有三行记录和两个列族(不考虑空白的列族,代表可以有很多列族),行键分别为 1、2 和 3,两个列族分别为 userInfo 和 addressInfo,每个列族中含有若干列,如列族 userInfo 包括 name、age、sex 3列,列族 addressInfo 包括 address、from、phone、email、ralary 5列。

在 HBase 中,列不是固定的表结构,在创建表时,不需要预先定义列名,可以在插入数据时临时创建。

从表的逻辑模型来看,HBase 表与关系型数据库中的表结构之间好像没什么差别,只不过多了列族的概念。但实际上是有很大差别的,关系型数据库中表的结构需要预先定义,如:列名及其数据类型和值域等内容。

当需要添加新列,则需要修改表结构,这会对已有的数据产生很大影响。同时,关系型数据库中的表为每个列预留了存储空间,即表中的空白 Cell 数据在关系型数据库中以“NULL”值占用存储空间。因此,对稀疏数据来说,关系型数据库表中就会产生很多“NULL”值,消耗大量的存储空间。

与面向行存储的关系型数据库不同,HBase 是面向列存储的,且在实际的物理存储中,列族是分开存储的,即表中的用户信息表将被存储为 userInfo 和 addressInfo 两个部分。

同时HBase存在时间戳,可以多次对一个cell赋值,可以存储多个版本的值,如上表中rowkey为1的数据存储了2个时间版本的数据。

到此,相信大家对“HBase表的数据模型是什么”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: HBase表的数据模型是什么

本文链接: https://www.lsjlt.com/news/329602.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • HBase表的数据模型是什么
    本篇内容主要讲解“HBase表的数据模型是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“HBase表的数据模型是什么”吧!HBase是运行在Hadoop集群上的一个数据库,与传统的数据库有严...
    99+
    2023-06-30
  • 详解HBase表的数据模型
    目录表(Table)1. rowkey行键2. Column Family列族3. Column列4. cell单元格5. Timestamp时间戳理解数据模型各概念的图HBase是...
    99+
    2024-04-02
  • HBase的数据模型讲解
    本篇内容主要讲解“HBase的数据模型讲解”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“HBase的数据模型讲解”吧!ROW KEY决定一行数据按照字典顺序排序的。Row key只能存储64k的...
    99+
    2023-06-03
  • HBase中数据分布模型是怎么样的
    这篇文章主要为大家展示了“HBase中数据分布模型是怎么样的”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“HBase中数据分布模型是怎么样的”这篇文章吧。数据分...
    99+
    2024-04-02
  • Cassandra的数据模型是什么
    Cassandra的数据模型是基于分布式的、非关系型的数据模型。它采用了基于列的存储结构,将数据按照行和列的方式进行存储。在Cass...
    99+
    2024-04-09
    Cassandr
  • 什么是Cassandra的数据模型
    Cassandra的数据模型是基于一个分布式、分区、多副本的键值存储结构。数据以键值对的形式存储在表中,每个键值对都有一个唯一的主键...
    99+
    2024-04-02
  • HBase支持哪些数据模型的操作
    HBase支持以下数据模型的操作: 列族数据模型:HBase使用列族(Column Family)来组织数据,每个列族包含多个列...
    99+
    2024-03-11
    HBase
  • Cassandra中的数据模型是什么
    Cassandra采用了一个灵活的分布式数据模型,称为"列族"模型。在这个模型中,数据被组织成行和列的集合。每行...
    99+
    2024-04-09
    Cassandra
  • redis是什么数据库模型
    Redis是一个开源的内存数据结构存储,支持诸多种数据结构,它是使用了单线程架构和I/O多路复用模型来实现高性能的内存数据库服务的,因此不会产生并发问题,同时它具有内置的复制、Lua脚本、LRU清除、事务和不同级别的磁盘持久性,并通过Red...
    99+
    2024-04-02
  • Cassandra的数据模型是什么样的
    Cassandra是一个分布式数据库系统,其数据模型是基于键值对的列族模型。在Cassandra中,数据以行(row)的形式存储,每...
    99+
    2024-03-06
    Cassandra
  • 数据交换模型是什么
    本文小编为大家详细介绍“数据交换模型是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“数据交换模型是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。数据交换模型使得不同应用程序之间的数据交换成为可能。这里是...
    99+
    2023-06-27
  • hbase读取数据的流程是什么
    HBase读取数据的流程如下: 客户端向HBase集群发送读取请求,请求包括表名、行键和列族等信息。 HMaster接收到请求后,...
    99+
    2024-03-05
    hbase
  • hbase指的是一种什么数据库
    这篇文章主要介绍hbase指的是一种什么数据库,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!HBase是一个分布式的、面向列的开源数据库,该技术来源于Fay Chang所撰写的Goo...
    99+
    2024-04-02
  • hbase修改数据的方法是什么
    HBase提供了两种主要的方法来修改数据: 使用Put操作:Put操作用于新增或更新一行数据。可以通过创建一个Put实例来指定要...
    99+
    2023-10-28
    hbase
  • hbase更新数据的方法是什么
    HBase更新数据的方法通常是通过Put对象来实现。Put对象可以用于在HBase表中插入新数据或更新已有数据。具体步骤如下: 创...
    99+
    2024-04-02
  • HBase的数据迁移的过程是什么
    HBase的数据迁移过程通常包括以下几个步骤: 准备目标环境:首先需要准备好目标HBase集群,包括配置好HBase服务、准备好...
    99+
    2024-03-11
    Hbase
  • Python数据模型与对象模型的区别是什么
    这期内容当中小编将会给大家带来有关Python数据模型与对象模型的区别是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。数据模型==对象模型Python官方文档说法是“Python数据模型”,大多数Py...
    99+
    2023-06-15
  • HBase中数据存储的形式是什么
    在HBase中,数据是以表格形式存储的,每个表由行(row)组成,每行又包含多个列族(column family),而列族包含多个列...
    99+
    2024-04-09
    HBase
  • 数据库中数据模型概念指的是什么
    这篇文章主要介绍了数据库中数据模型概念指的是什么,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。数据库中数据模型的概念是:数据模型是数据特征的抽象...
    99+
    2024-04-02
  • 关系数据库模型是什么样的
    这篇文章将为大家详细讲解有关关系数据库模型是什么样的,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。关系数据库模型是现代数据库技术的基础,它使这一领域具有了科...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作