请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

rowkey的设计问题

老师,我不太理解这个rowkey设计的思路,rowkey的设计目的是为了数据能够尽量均匀分配到各个regionserver,按照课程里设计:
day+crc32(referer+url+ip+ua)
虽然可能是满足了唯一性,但是要怎么确定这个设计满足了结合业务查询的需要?还有为什么hbase已经设计为一天一个表,但是rowkey还要加上day呢?

正在回答 回答被采纳积分+3

2回答

慕沐6014767 2022-05-17 23:06:55
这样好像做不到唯一性吧,假如有数据的这几个字段都一样的话,那行键也相同了
0 回复 有任何疑惑可以回复我~
  • 你说的这种是有些许可能性的,你可以再继续加时间戳进去吗,同一时间点同一ip,就更精准了
    回复 有任何疑惑可以回复我~ 2022-05-21 10:21:06
Michael_PK 2020-09-13 15:53:44

rk的设计是为了scan的时候能给更快,我们这里加了个时间在前面,那么在查找的时候直接可以通过开头的时间去扫描到

0 回复 有任何疑惑可以回复我~
  • 提问者 哆啦A梦爱学习吖 #1
    可是一个表就是一天的呀,为啥还要通过时间前缀确定呢?然后day后面那串crc32编码串是怎么能快速找到对应的数据呢?
    回复 有任何疑惑可以回复我~ 2020-09-13 15:59:09
  • Michael_PK 回复 提问者 哆啦A梦爱学习吖 #2
    学东西别学死,这里是为了让大家好掌握,因为我不太清楚大家都hbase基础咋样,HBASE能承载的数据量是很大的,完全可以把数据都写到一个表里,那么数据都在一个表,如何才能更快scan呢?那不就是rk设计了呢
    回复 有任何疑惑可以回复我~ 2020-09-13 16:00:47
  • Michael_PK 回复 提问者 哆啦A梦爱学习吖 #3
    32编码查询的时候不需要的呢,查的时候根据rk就能定位到我们所需要的哪天的所有数据了
    回复 有任何疑惑可以回复我~ 2020-09-13 16:01:28
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信