Hbase数据库各需求解决方案优化

抖音hbase库表设计

1.需求
①如何查看某红人的粉丝
②如何查看某红人的粉丝数
③如何确定此粉丝是某红人的吗
④某红人的粉丝是否关注了此红人
⑤有多少粉丝和此粉丝关注的红人数及红人一样

解决方案

在这里插入图片描述

在这里插入图片描述
①将红人的姓名作为rowkey,列限定符为自增张,粉丝的姓名作为key,遍历此rowkey可以得到,但性能极低不合适

在这里插入图片描述

②将红人的姓名作为rowkey,列限定符为自增张,粉丝的姓名作为key,在表中维护一个count计数器可以统计当前的粉丝数,当插入时只需得知计数器为多少即可在后面插入,但是相对来说查询粉丝姓名则相当麻烦,因为客户端传过来的是粉丝姓名不是关注此红人的次序号,所以导致查询只能按照姓名搜索 scan遍历性能极低,且在取消关注此红人时也需要scan遍历才可得知

在这里插入图片描述

③将红人的姓名作为rowkey,粉丝姓名作为列限定符,值为1,如果关注则增加列限定符,取关则减一,相对来说好一些吧

④将粉丝姓名+红人姓名结合做rowkey,列限定符为红人的姓名,值为1,这样可以更块的搜索查询且关注取关也非常方便
在这里插入图片描述

⑤将md5码+粉丝的姓名+md5码+红人的姓名当做rowkeykey,列限定符为红人的姓名,值为粉丝的姓名。(md5来散裂化rowkey可以提高性能)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值