前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >HBase数据模型(1)

HBase数据模型(1)

作者头像
王小雷
发布2018-01-05 18:12:57
1.5K0
发布2018-01-05 18:12:57
举报
文章被收录于专栏:王小雷王小雷

HBase数据模型(1)

HBase数据模型(2)

1.0 HBase的特性

  • Table
    • HBase以表(Table)的方式组织数据,数据存储在表中。
  • Row/Column
    • 行(Row)和列(Column)共同组成HBase的表。
  • Column Family
    • 列族(Column)将一列或者多列组织在一起,HBase的列必须属于某一个列族。
  • Cell
代码语言:txt
复制
- 行和列的交叉点称为单元格(Cell),单元格是版本化的。
- 单元格的内容是列的值,是不可分割的字节数组,以二进制形式存储。Rowkey  行键(Rowkey)可以将HBase表进行分区,行键也是唯一确定一行的标识。

2.0 HBase逻辑模型

2.1 HBase大部分特性和GoogleBigTable开源分布式数据库相同。

2.2 逻辑模型上是一个稀疏的、长期存储的、多维度的和排序的映射表,表中的每一行可以有不同的列。

2.3 HBase最基本的单位是列,一列或者多列构成了行,行有行键(RowKey),每一行的行键都是唯一的,相同行键的插入操作被认为是同一行操作。

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

2.5 列名表示为 “列族前缀+修饰符”的方式,如(anchor:cssnsi.com和anchor:my.look.ca其中,列族是anchor,修饰符分别是cssnsi.com和my.look.ca )

3.0 HBase物理模型

3.1 在物理上,表是按列分开存储的。HBase的列是按列族分组的,HFile是面向列的,存放行的不同物理文件,一个列族的数据存放在多个HFile中,最重要的是一个列族的数据会被用一个Region管理,物理上存放在一起。

3.2 Region是管理HFile的一种机制。

4.0 HBase数据模型的操作

主营包含4个操作Get、Put、Scan和Delete。因为创建HTable实例需要扫描.META.表,会增加代价,所以用户最好只创建一次HTable是咧,而且每个线程创建一个,可以使用HTablePool类来复用多个HTable实例。

4.1 读Get

  • 从客户端获取已存取的数据
  • get()方法默认一次取回改行全部列的数据,可以限定只取某个列族对于的列的数据。
  • 可以从服务器获取特定的返回值。

4.2 写Put

  • HBase没有Update操作,通过Put对数据进行修改
  • Put向表增加新行(新的key)或者更新行(key已经存在)。
  • 对于数千次RPC操作可以显示打开缓冲区选项,进行一次性写入。

4.3 扫描Scan

Scan允许多行特定属性迭代,可以指定starRow参数来定义扫描读取HBase表的起始行键,同时可选stopRow参数来限定到何处停止。

4.4 删除Delete

HBase的Delete操作可以指定删除某个列族或者某个列,或者指定某个时间戳,删除比这个时间早的数据。

HBase的Delete操作并不是真正地从磁盘上删除数据,而是通过创建墓碑(tombstones)标志进行处理。这些墓碑标记的值和小于该时间版本的单元格在大合并(major compact)时被清楚。

HBase数据模型(1)

HBase数据模型(2)

本文参与?腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016年04月28日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.0 HBase的特性
  • 2.0 HBase逻辑模型
    • 2.1 HBase大部分特性和GoogleBigTable开源分布式数据库相同。
      • 2.2 逻辑模型上是一个稀疏的、长期存储的、多维度的和排序的映射表,表中的每一行可以有不同的列。
        • 2.3 HBase最基本的单位是列,一列或者多列构成了行,行有行键(RowKey),每一行的行键都是唯一的,相同行键的插入操作被认为是同一行操作。
          • 2.4 HBase中一个表有多行,每行都有多列,列中的值有多个版本,每个版本称为一个单元格。每个单元存储的是不同时刻该列的值。
            • 2.5 列名表示为 “列族前缀+修饰符”的方式,如(anchor:cssnsi.com和anchor:my.look.ca其中,列族是anchor,修饰符分别是cssnsi.com和my.look.ca )
            • 3.0 HBase物理模型
              • 3.1 在物理上,表是按列分开存储的。HBase的列是按列族分组的,HFile是面向列的,存放行的不同物理文件,一个列族的数据存放在多个HFile中,最重要的是一个列族的数据会被用一个Region管理,物理上存放在一起。
                • 3.2 Region是管理HFile的一种机制。
                • 4.0 HBase数据模型的操作
                  • 4.1 读Get
                    • 4.2 写Put
                      • 4.3 扫描Scan
                        • 4.4 删除Delete
                        相关产品与服务
                        数据库
                        云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
                        领券
                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
                        http://www.vxiaotou.com