HBase中的基本概念是什么

这篇文章给大家分享的是有关HBase中的基本概念是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

HBase是Google Bigtable的开源实现。HBase是一个开源的、分布式的、多版本的、面向列的存储模型。HBase利用HDFS作为其文件系统(或本地),还可以通过MapReduce计算模型来并行处理大数据。

HBase中的基本概念:

Row Key

1)       Row key是检索记录的主键。

2)       Row key行键 (Row key)可以是任意字符串(最大长度是 64KB,实际应用中长度一般为 10-100bytes),在hbase内部,row key保存为字节数组。

3)       数据按照Row key的字典序(byte order)排序存储。设计key时,要充分排序存储这个特性,将经常一起读取的行存储放到一起。(位置相关性)

4)       行的读写是原子操作。

Column family (列族)

1)       HBase表中的每个列都属于某个列族,列族必须作为表模式(schema)定义的一部分预先给出,必须在使用表之前定义。列名都是以列族作为前缀,中间以冒号(:)隔开,如:courses:math。

2)       访问控制、磁盘和内存的使用统计都是在列族层面进行的。实际应用中,列族上的控制权限能帮助我们管理不同类型的应用:我们允许一些应用可以添加新的基本数据、一些应用可以读取基本数据并创建继承的列族、一些应用则只允许浏览数据(甚至可能因为隐私的原因不能浏览所有数据)。

Cell (存储单元)

由{row key, column(=<family> + <label>), version} 唯一确定的单元。cell中的数据是没有类型的,全部是字节码形式存贮。

Timestamp(时间戳)

1)       每个cell都保存着同一个数据的多个版本,版本通过时间戳来索引。

2)       时间戳为64位整型。

3)       可以自动赋值(当前系统时间),也可以用户自己指定。

4)       不同版本数据按照时间戳倒序排。

5)       HBase提供了两种数据版本回收机制:a. 保存数据最后n个版本;b. 保存最近一段时间内的版本。用户可以针对每个列族去设置。

感谢各位的阅读!关于“HBase中的基本概念是什么”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注