当前位置:   article > 正文

HBase学习(三) HBase的数据结构_公司的rowkey怎么组成的

公司的rowkey怎么组成的


RowKey

HBase 数据库中也有一个表示唯一的键,这个唯一的键是 RowKey。
RowKey 组成:HBase 中 RowKey 由任意字符串组成,组成长度不超过 64KB ,在实际应用中长度一般为10-100bytes,一般用到70-100bytes就能满足需求,在HBASE内部,RowKey保存为字节数组。存储时,数据按照RowKey的字典序(byte order)排序存储。设计RowKey时,要充分排序存储这个特性,将经常一起读取的行存储放到一起。
HBase 中行的访问方式有三种:

  1. scan:全表扫描
  2. get:通过单个RowKey访问
  3. like:通过RowKey的range(正则)

Column Family

列族: HBase 中的每个列,都属于某一个列族,列族必须在使用表之前定义,列名都以列族作为前缀,例如:‘a1:b1’,‘a1:b2’,其中列族是 a1 ,而列族的值为 ‘b1’ 和 ‘b2’

Cell

HBase 中的 Cell表示的是表中的单元格,由{rowkey, column Family:columu, version} 唯一确定的单元。cell中的数据是没有类型的,全部是字节码形式存贮。
其中 version 就是这个单元格中的 Time Stamp

Time Stamp

HBASE 中通过rowkey和columns确定的为一个存贮单元称为cell。每个 cell都保存 着同一份数据的多个版本。版本通过时间戳来索引。时间戳的类型是 64位整型。时间戳可以由HBASE(在数据写入时自动 )赋值,此时时间戳是精确到毫秒 的当前系统时间。时间戳也可以由客户显式赋值。如果应用程序要避免数据版 本冲突,就必须自己生成具有唯一性的时间戳。每个 cell中,不同版本的数据按照时间倒序排序,即最新的数据排在最前面。
为了避免数据存在过多版本造成的的管理 (包括存贮和索引)负担,HBASE提供 了两种数据版本回收方式。一是保存数据的最后n个版本,二是保存最近一段时间内的版本(比如最近七天)。用户可以针对每个列族进行设置。

命名空间

  • Table:表,所有的表都是命名空间的成员,即表必属于某个命名空间,如果没有指定,则在default默认的命名空间中。
  • RegionServer group:一个命名空间包含了默认的RegionServer Group。
  • Permission:权限,命名空间能够让我们来定义访问控制列表ACL(Access Control List)。例如,创建表,读取表,删除,更新等等操作。
  • Quota:限额,可以强制一个命名空间可包含的region的数量。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/爱喝兽奶帝天荒/article/detail/757923
推荐阅读
相关标签
  

闽ICP备14008679号