Hbase表设计

hbase性能调优案例

1、人员-角色

  人员有多个角色  角色优先级

  角色有多个人员

  人员 删除添加角色

  角色 可以添加删除人员

  人员 角色 删除添加

 

设计思路

person表

rowkeycf1 - 人员基本信息 cf2 - 角色列表
pidcf1:pname=;cf1:age;.. cf2:rid=n数字、优先级;...

person表--举例说明

001  cf1:pname=小周;cf1:age=1;    cf2:102=0;

002  cf1:pname=小明;cf2:age=99;   cf2:101=1;cf2:102=0;

 

role表

rowkey cf1 - 角色基本信息cf2 - 人员列表
rid   cf1:rname=; cf2:pid=pname;...

role表--举例说明

101  cf1:rname=前台;    cf2:002=小明;

102  cf1:rname=销售;     cf2:001=小周;cf2:002=小明;

 

2、组织架构 部门-子部门

  查询 顶级部门

  查询 每个部门的所有子部门

  部门 添加、删除子部门

  部门 添加、删除 

 

设计思路

    1.    优先考虑查询的性能,(部门的添加删除要少于查询)

rowkeycf1 - 基本信息cf2 - 子部门列表
pidcf1:name;cf1:pid;...cf2:pid=name;...

pid 设计:

    0_标识    顶级部门

    1_标识    非顶级部门

 

举例说明

0_001        cf1:name=互联网;...                              cf2:1_002=开发部;cf2:1_003=测试部;

1_002        cf1:name=开发部;cf1:pid=0_001;...

1_003        cf1:name=测试部;cf1:pid=0_001;...

 

3、根据新浪微博系统:请建立微博系统的表

   发微博

   查看微博:

       1、查看首页微博

       2、查看某个用户发布的所有微博

   关注好友、取消关注、查看关注的好友列表

   查看粉丝列表

 

设计思路

用户表

    关注好友、取消关注、查看关注过的好友列表

    查看粉丝列表

rowkey cf1 - 关注列表cf2 - 粉丝列表
uidcf1:uid=uname;...cf2:uid=name;...

用户表--举例说明

001        小明                                                                                cf2:002=李雷

002        李雷                        cf1:001=小明

 

微博表

    完成查看某个用户发布的所有微博功能

rowkey cf1 - 微博信息
widcf1:weibo=微博内容

wid 设计:

    uid_(Long.max-time)

 

收微博表

    开启一个子线程,进行微博收集

    完成查看首页微博功能

rowkeycf1
uidcf1:collect=wid
(version=1000)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值