开发者学堂课程【HBase 入门教程:HBase 表设计_5】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/397/detail/5085
HBase 表设计_5
一、添加、删除子部门
组织架构 部门-子部门
查询 顶级部门
查询 每个部门的所有子部门
部门 添加、删除子部门
部门 添加、删除
Dept 表
rowkey dept 列簇 dept-cid 列簇
0|1_did dept:name 名称 cid 代表子 id name 为子 id 名称
dept:pid 父 id dept-cid:cid1=name1
dept-cid:cid2=name2
dept-cid:cid3=name3
0代表 顶级部门
1代表 非顶级部门
对于子部门的删除添加该如何操作,可以通过 id 找到对应部门,之后在第二个列族里把那一列删除,通过子部门的id,找到子部门的信息,然后再把第一个列族里父部门这个 id 删除。
如果要添加操作也一样。
二、举例
1.例子一
0_001 cf1:name=尚学堂教学部 cf2:1_101=尚学堂大数据教学组
0_002 cf1:name=尚学堂财务部
1_101 cf1:name=尚学堂大数据教学组 cf1:pid=0_001
1_102 cf1:name=尚学堂 Java 教学组
删除部门需要递归,如果这个部门是最底层的,那么直接删除就可以了。假如这个部门下还有子节点,删除掉之后,还要删除下面的节点或者删除之后给父部门 id 改为 pid=nwu 。
此例子描述的是多对多表的关系,但是组织架构这种部门和子部门之间,其实描述的是一对多表的设计。
2.例子二
用 HBase 存储数据
(1)首先考虑下微博业务场景:
添加、删除关注好友 查看粉丝列表
查看所关注的好友的微博
(2)特点
按照时间的降序进行排序,所看到的微博都是最新的,不会看到最早发布的
(3)功能
①查看某个用户所有发布的微博
②查看自己发布微博
③写微博