开发者学堂课程【HBase入门教程:HBase表设计_2】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/397/detail/5082
HBase表设计_2
内容介绍
一、第一位同学作业点评
二、第二位同学作业点评
一、第一位同学作业点评:
人员表:
rowkey uid
cf1:name;cf1:age;..
1.id 人员 id
2.name 人员姓名
角色表
rowkey rid
cf1:rname;cf1:优先级;
1.Role _Id 角色 id
2.role_name 角色名称
3. role_lv 角色等级
对所有角色设置了优先级,例子:假如在角色里拿工资来说,it 的开发部的部长、开发部经理,还有一些测试组和产品部 ,例如小明是服务员还有前台,加入数组越大优先级越高,服务员优先级2,前台1,韩梅梅也是服务员和前台,由于颜值原因,前台应该优先级高一点,服务员应该低一点。这个例子里,角色有优先级,在不同的角色里优先级情况可能不同,在这种表设计里,优先级对所有角色做了顺序,对于之前的还有些问题。
二、第二位同学作业点评:
角色-人员表
rowkey uid_rid|id
cf1:rid; cf1:uid
1.Role_id 角色 id
2.Id 人员 id
1.人员-角色
人员有多个角色 角色优先级
角色有多个人员
人员 删除添加角色
角色 可以添加删除人员
人员 角色 删除添加
person 表
rowkey |
CF1 |
CF2 |
|
person_info |
role |
member_id |
person_info:name person info:age |
role:role id1=优先级num role:role id2=优先级num |
001 |
cf1:name=xiaoming |
cf2:101=1cf2:102=0 |
role 表
rowkey |
CF1 |
CF2 |
|
role_info |
person |
role_id |
role info:name role info:fullname |
person:member id1 =member name person:member id2=member name |
101 102 |
cf1:name=服务员 cf1:name=前台 |
cf2:001=xiaoming cf2:001=xiaoming |
将用户ID作为列名,用户的名称 member_name ,把 person 列族下的所有的列全部查出来,对应的列名就是用户 id,member_name 对应的值就是所有的用户 id,两个用户的 id 不会相同。
两张: ptable (员工) rtable (角色)
ptable:表1
rk: rid cf1:pid=pname cf2:rname=角色名称(人员添加查角色下人员数量)
ptable:表2
rk: pid cf1:rid=优先级 cf2:pname=员工名称。。(人员多少角色可查角色删除等)