Hbase 学习笔记

hbase 学习笔记

hbase表结构

     hbase是一个非关系型的数据库 面向列存储数据

  • 表是行的集合
  • 行是列族的集合
  • 列族是列的集合
  • 列是键值的集合

9937e3de4f5c5d085467c4accb497b12ab4.jpg

c651c7b5690f70e463d84af4a663a6cef65.jpg

实例

hbase 基本概念

  1. Column Family又叫列族,Hbase通过列族划分数据的存储,列族下面可以包含任意多的列,实现灵活的数据存取。Hbase表的创建的时候就必须指定列族。就像关系型数据库创建的时候必须指定具体的列是一样的。Hbase的列族不是越多越好,官方推荐的是列族最好小于或者等于3。我们使用的场景一般是1个列族。
  2. Rowkey的概念和mysql中的主键是完全一样的,Hbase使用Rowkey来唯一的区分某一行的数据.

        由于Hbase只支持3中查询方式

  • 基于Rowkey的单行查询
  • 基于Rowkey的范围扫描
  • 全表扫描

       因此,Rowkey对Hbase的性能影响非常大,Rowkey的设计就显得尤为的重要。设计的时候要兼顾基于Rowkey的单行查询也要键入     Rowkey的范围扫描

     3.Region的概念和关系型数据库的分区或者分片差不多。
       Hbase会将一个大表的数据基于Rowkey的不同范围分配到不通的Region中,每个Region负责一定范围的数据访问和存储。这样即使是一          张巨大的表,由于被切割到不通的region,访问起来的时延也很低。

     4 TimeStamp

          TimeStamp对Hbase来说至关重要,因为它是实现Hbase多版本的关键。在Hbase中使用不同的timestame来标识相同rowkey行对应的 不通版本的数据。

在写入数据的时候,如果用户没有指定对应的timestamp,Hbase会自动添加一个timestamp,timestamp和服务器时间保持一致。
在Hbase中,相同rowkey的数据按照timestamp倒序排列。默认查询的是最新的版本,用户可同指定timestamp的值来读取旧版本的数据

 

转载于:https://my.oschina.net/u/2969788/blog/1922011

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值