一.前述
今天分享一篇关于HBase的一对多和多对多的案例的分析。
二.具体案例
案例一.多对多
PS:说明,两张表User表和Role表, User表中定义两个列族,第一个列族是名字,第二个列族中 多个列定义为具体的角色,列的内容定义为具体的值,即优先级(这里利用了列也能存信息,所以把角色Id定义为具体的列,值越大代表优先级越高)
案例二.一对多
组织架构 部门-子部门 查询 顶级部门 查询 每个部门的所有子部门 部门 添加、删除子部门 部门 添加、删除
PS:解释 一个表 rowkey中0代表顶级部门 1代表非顶级部门 因为顶级部门不是经常查 列族的列是具体的子部门列表。值是具体的名称。
案例三.
3、微博添加关注查看粉丝列表发布微博查看某个用户所有的微博 排序:时间降序排序查看首页 时间降序排序001小明 关注 韩梅梅、李雷002李雷 关注 韩梅梅003韩梅梅关注粉丝表rowkey CF1 - 关注列表 CF2 - 粉丝列表pid小明 001 CF1:003=韩梅梅;CF1:002=李雷;李雷 002 CF1:003=韩梅梅; CF2:001=小明;韩梅梅 003 CF2:001=小明;CF2:002=李雷;微博表rowkey cfwid cf:content=微博内容;wid设计:pid_(Max-timestamp)收取微博表rowkey cf (maxversion=1000)pid cf:sq=wid;