hbase-rowkey设计

设计规则
MD5 +主维度+维度标识+子维度1 +时间维度+子维度2
例如:卖家ID 的MD5 前四位+卖家ID+ app + 一级类目ID++ddd +二级类目ID 。
以M D5 的前四位作为row key 的第一部分,可以把数据散列,让服务器整体负载是均衡的,避免热点问题。在上面的例子中,卖家ID 属
于主维度,在查数据时是必传的。每个统计维度都会生成一个维度标识,以便在rowkey 上做区分。

简短
以 byte[] 形式保存,不要超过16个字节,最大不超过100个字节

唯一
按照字典顺序排序,最近可能会被访问的数据放到一块

散列,避免热点

随机前缀
哈希
反转
固定长度或者数字格式,如手机号
时间戳反转
Long.Max_Value - timestamp

[userId反转][Long.Max_Value - timestamp],
查询所有记录
startRow是[userId反转][000000000000],stopRow是[userId反转][Long.Max_Value - timestamp]
查询某时段记录
startRow是[user反转][Long.Max_Value - 起始时间],stopRow是[userId反转][Long.Max_Value - 结束时间]

分情况
强事务时间->按天分表,只保留小时分钟毫秒
065535(0x00000xFFFF) 086399999(0x000000000x05265BFF)
统计数据->只到分钟
0x00000000~0xFFFFFFFF) 01439(0x00000x059F)
通用->自增序列
0x00000000~0xFFFFFFFF) 可由多个用户字段组成
多条件查询->填充相同长度,拼接
rowKey(userID 6 + time 8 + fileID 6)
00000120120902000001

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值