hbase性能調優_表設計案例


 


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;...
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 - 粉絲列表
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)
             
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM