分布式开源数据库_HBase入门介绍

一、HBase简介


1.概念
HBase是bigtable的开源山寨版本。是建立在HDFS之上,提供高可靠性、高性能、列存储、可伸缩、实时读写的分布式列存储的开源数据库系统。
  HBase是Apache的Hadoop 项目的子项目。 
HBase中每张表的记录数(行数)可多达几十亿条,甚至更多,每条记录可以拥有多达上百万的字段。而这样的存储能力却不需要特别的硬件,普通的服务器集群就可以胜任。


2.技术特点
 1)大表:一个表可以有上亿行,上百万列,提供海量数据存储能力,可提供高达几百亿条数据记录存储能力;
 2)列式存储:面向列族(Column Family)的存储和权限控制,列族独立检索;
 3)表数据是稀疏的多维映射表。表中的数据通过一个行关键字(row key)、一个列关键字(column key)以及一个时间戳(time stamp)进行索引和查询定位,通过时间戳允许数据有多个版本;
4)NoSQL的典型代表产品。适合于非结构化数据存储的数据库。

注:Hbase在物理实现上并不存在传统数据库的二维表的概念。因此,二维表中字段值的空洞,对于Hbase在物理实现上是不存在的,而不是所谓的值为null.
稀疏:指一个行,一般来说只是在某个列族上存在值,而在其他列族上不存在值。


二、HBase的数据模型

HBase表是一个分布式多维表,表中的数据通过一个行关键字(row key)、一个列族和列名(column family,column name)和一个时间戳(time stamp)进行索引和查询定位。

下面是截取自《深入理解大数据---大数据处理与编程实践》(黄宜华)上的图片:


1.HBase表实例

在实际的HDFS存储中,直接存储的是每个字段数据所对应的完整的键值对:
   {row key,column family,column name,timestamp}--->value

例如上表中,key3行Address字段下t2时间戳下的Shanghai,存储时的完整键值对是:
   {key3,PersonnalInfo,Address,t2}--->Shanghai

下面对rowkey、column family、column name、time stamp进行简要的介绍:


1.Row Key
HBase一张表中可以有上亿行记录,每一行都由一个行关键字(row key)来标识。
特点:
(1)HBase保证对所有行按照row key进行字典序(byte order)排序。设计key时,要充分排序存储这个特性,将经常一起读取的行存储放到一起。(位置相关性)
(2)Row key行键 (Row key)可以是任意字符串(最大长度是 64KB,实际应用中长度一般为 10-100bytes),在hbase内部

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值