hbase性能調優案例
1、人員-角色
人員有多個角色 角色優先級
角色有多個人員
人員 刪除添加角色
角色 可以添加刪除人員
人員 角色 刪除添加
設計思路
person表
rowkey | cf1 - 人員基本信息 | cf2 - 角色列表 |
pid | cf1: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.
優先考慮查詢的性能,(部門的添加刪除要少於查詢)
rowkey | cf1 - 基本信息 | cf2 - 子部門列表 |
pid | cf1:name;cf1:pid;... | cf2:pid=name;... |
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 - 粉絲列表 |
uid | cf1:uid=uname;... | cf2:uid=name;... |
001 小明 cf2:002=李雷
002 李雷
cf1:001=小明
微博表
完成查看
某個用戶發布的所有微博功能
rowkey | cf1 - 微博信息 |
wid | cf1:weibo=微博內容 |
wid 設計:
uid_(Long.max-time)
收微博表
開啟一個子線程,進行微博收集
完成查看首頁微博功能
rowkey | cf1 |
uid | cf1:collect=wid (version=1000) |