HBase 中RowKey的设计原则
来源:互联网 发布:12306数据库设计 编辑:程序博客网 时间:2024/06/05 07:24
1、应当尽量将需要查询的信息存储在行健中,并且越靠左的字段其选择性越高(与MySQL中的建立的多列索引,支持左前缀索引,因此越靠左的字段选择性越高)
2、为了让所有字段都有意义,并且在特定的位置表示特定的字段,建议将每个字段设置为定长(不够的补0),这种定长的好处在范围查询中能够体现出来。
3、根据左前缀进行组合字段必须都有意义
比如:
当我们设计的RowKey类型为:
<userI>-<date>-<messageId>-<attachmentId>
则需要让组合字段的各个左前缀都有意义:
RowKey 描述
<userId> 扫描一个给定用户ID下的所有信息
<userId>-<date> 扫描一个给定用户ID下特定日期下的全部消息
<userId>-<date>-<messageId> 扫描一个给定用户ID和日期下的指定消息的所有附件信息
<userId>-<date>-<messageId>-<attache> 扫描一个给定用户ID和日期下以及给定消息和给定附件的具体内容
根据上面设计的格式,在实际要查询的时候(和MySQL的多列索引的查询方式类似),最左的字段我们可以自定为常量,在其之后加上范围查询。
4、让RowKey按时间降序排列的方法
(1)时间戳转为位,再按位取反
(2)LONG.MAX_VALUE-<date-as-long>
- HBase 中RowKey的设计原则
- HBase RowKey的设计原则
- HBase的RowKey设计原则
- HBase的RowKey设计原则
- HBase的RowKey设计原则
- HBase的RowKey设计原则
- HBase RowKey的设计原则
- HBase RowKey的设计原则
- HBase的RowKey设计原则
- HBase RowKey设计原则
- Hbase rowkey 设计原则
- Hbase rowkey 设计原则
- Hbase RowKey设计原则
- HBase rowkey设计原则
- HBase学习之五:HBase的RowKey设计原则
- HBase学习之HBase的RowKey设计原则
- HBase学习之五:HBase的RowKey设计原则
- HBase(2.6)-HBase的RowKey设计原则 ,热点问题
- 区块链解读3-密码学
- JAVA线程中同步锁(synchronized)的使用
- ASP.NET导出到EXCEL(控件式样)
- 士兵杀敌(一) 【nyoj-108】【线段树】
- eCognition基础操作
- HBase 中RowKey的设计原则
- 汉诺塔系列2
- 百度之星初赛-(A) A小C的倍数问题
- JZOJ1260. 牛棚的安排(2017.8B组)
- 【2017/8/12】Linux7 keepalived+nginx配置
- allocator空间分配接口类实现Vector
- HR 信息系统运维制度
- c++ primer plus阅读笔记4---struct
- 大数据协作框架之Flume