一:完整的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)的内所有数据,得到结果后综合再排,取出需要的页码
二:功能
1,加盐方式分散数据,减少自动扩容的服务不可用时间
2,使用默认协处理器支持count函数
3,时间正序倒序查询,支持上下翻页,当前页刷新查询
三:不足
1,无法多字段排序
2,首次查询非常慢,大概第二次的10倍左右
3,暂无法支持连表查询
4,无法支持跳转指定页码