hbase-rowkey设计

来源:互联网 发布:sql 交 并 编辑:程序博客网 时间:2024/06/07 05:18

简短
以 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 - 结束时间]

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

原创粉丝点击