抖音hbase库表设计
1.需求
①如何查看某红人的粉丝
②如何查看某红人的粉丝数
③如何确定此粉丝是某红人的吗
④某红人的粉丝是否关注了此红人
⑤有多少粉丝和此粉丝关注的红人数及红人一样
解决方案
①将红人的姓名作为rowkey,列限定符为自增张,粉丝的姓名作为key,遍历此rowkey可以得到,但性能极低不合适
②将红人的姓名作为rowkey,列限定符为自增张,粉丝的姓名作为key,在表中维护一个count计数器可以统计当前的粉丝数,当插入时只需得知计数器为多少即可在后面插入,但是相对来说查询粉丝姓名则相当麻烦,因为客户端传过来的是粉丝姓名不是关注此红人的次序号,所以导致查询只能按照姓名搜索 scan遍历性能极低,且在取消关注此红人时也需要scan遍历才可得知
③将红人的姓名作为rowkey,粉丝姓名作为列限定符,值为1,如果关注则增加列限定符,取关则减一,相对来说好一些吧
④将粉丝姓名+红人姓名结合做rowkey,列限定符为红人的姓名,值为1,这样可以更块的搜索查询且关注取关也非常方便
⑤将md5码+粉丝的姓名+md5码+红人的姓名当做rowkeykey,列限定符为红人的姓名,值为粉丝的姓名。(md5来散裂化rowkey可以提高性能)