java hbase加盐设计使用

一:完整的java调用hbase代码示例,及设计说明

1,设计:hbase属于大数据存储,适合数据增长快的场景使用,通过官方文档,大家有了解关于hbase的基本信息,本文设计也是为了规避hbase region自动扩增期间不能提供服务的场景

1.1:加盐概念:将rowkey散列并与最大盐值取余,可得到该rowkey的盐值,由于是取余那么盐值个数一定,然后按盐值将数据放入对应的region中,即可实现数据分散

  1.1.1:由于hbase底层是对rowkey按ascii顺序存储,即使加盐,那么每个盐值内rowkey仍是有序的,而对业务系统来说,时间排序是最常用的,那么可以对rowkey设计为TIME(时间戳)+...(业务字段)+唯一id

 1.1.2:取出时根据盐值分别遍历相同时间戳(即rowkey)的内所有数据,得到结果后综合再排,取出需要的页码

初始建表api

查询api

二:功能

1,加盐方式分散数据,减少自动扩容的服务不可用时间

2,使用默认协处理器支持count函数

3,时间正序倒序查询,支持上下翻页,当前页刷新查询

三:不足

1,无法多字段排序

2,首次查询非常慢,大概第二次的10倍左右

3,暂无法支持连表查询

4,无法支持跳转指定页码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值