文档章节

HBase中的基本概念

Jackson_Mu
 Jackson_Mu
发布于 2014/12/15 08:05
字数 647
阅读 113
收藏 0

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

  1. Row Key

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

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

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

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

  2. Column family (列族)

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

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

  3. Cell (存储单元)

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

  4. Timestamp(时间戳)

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

    2)       时间戳为64位整型。

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

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

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

© 著作权归作者所有

共有 人打赏支持
上一篇: Maven入门
Jackson_Mu
粉丝 72
博文 17
码字总数 15900
作品 0
海淀
程序员
私信 提问
一文让您全面了解清楚HBase数据库的所有知识点,值得收藏!

欢迎关注大数据和人工智能技术文章发布的微信公众号:清研学堂,在这里你可以学到夜白(作者笔名)精心整理的笔记,让我们每天进步一点点,让优秀成为一种习惯! 一、HBase基本概念:列式数据...

李金泽
03/04
0
0
HBase应用与发展之Apache HBase的现状和发展

HBase基本概念 HBase(Hadoop Database),是一个基于Google BigTable论文设计的高可靠性、高性能、可伸缩的分布式存储系统。 松散表结构(Schema free) 原生海量数据分布式存储 随机查询、范围...

HBase技术社区
09/15
0
0
Hbase原理、基本概念、基本架构

概述 HBase是一个构建在HDFS上的分布式列存储系统; HBase是基于Google BigTable模型开发的,典型的key/value系统; HBase是Apache Hadoop生态系统中的重要一员,主要用于海量结构化数据存储...

2k10
2015/03/30
0
0
Sqoop数据导入到HBase遇上的问题及解决方法

  【IT168 技术】运行bin/sqoop import --connect jdbc:mysql://ip:port/database --username * --password **--hbase-bulkload --hbase-create-table --column-family info --hbase-row-k......

中国大数据
05/31
0
0
Apache HBase v1.3 发布,分布式数据库

Apache HBase v1.3 发布了。 值得关注的新特性: 基于日期的分层压缩 (HBASE-15181, HBASE-15339) HBase客户端应用程序的 Maven 原型 (HBASE-14877) 用于刷新的吞吐量控制器 (HBASE-14969) ...

局长
2017/01/18
2.1K
1

没有更多内容

加载失败,请刷新页面

加载更多

携手开发者共建云生态 首届腾讯云+社区开发者大会在京举办

本文由云+社区发表 北京时间12月15日,由腾讯云主办,极客邦科技、微信、腾讯TEG协办的首届腾讯云+社区开发者大会在北京朝阳悠唐皇冠假日酒店举办。在会上,腾讯云发布了重磅产品开发者平台以...

腾讯云加社区
11分钟前
0
0
人工智能时代员工如何证明其IT工作价值

机器人可以取代你的工作吗?你能帮助机器人完成它的工作吗?如果你正在考虑自己的职业生涯以及今后将如何发展,那么应该询问自己这些问题了。 机器人可以取代你的工作吗?你能帮助机器人完成它的...

Linux就该这么学
13分钟前
0
0
CPU性能过剩提升乏力影响未来行业发展吗?

虽然CPU仍然在不断发展,但是它的性能已经不再仅仅受限于单个处理器类型或制造工艺上了。和过去相比,CPU性能提升的步伐明显放缓了,接下来怎么办,成为横亘在整个行业面前的大问题。 自201...

linuxCool
23分钟前
0
0
使用Autowired和Qualifier解决多个相同类型的bean如何共存的问题

注意: 实现类UserServiceImpl,MyUserServiceImpl 需要区分:@Service("userServicel") @Service("myUserService") https://blog.csdn.net/russle/article/details/80287763......

qimh
57分钟前
4
0
SQL 语句使用to_char函数时,检索结果有空格

小疯在使用Oracle过程中,使用to_char函数检索表数据时发现检索结果前面会有一个空格,对后续开发有影响。问题很好解决,比较直接对可以做一下trim处理。但是小疯很疑惑为什么会有空格呢,于...

野小疯
59分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部