環境
虛擬機:VMware 10
Linux版本:CentOS-6.5-x86_64
客戶端:Xshell4
FTP:Xftp4
jdk8
hadoop-2.6.5
hbase-0.98.12.1-hadoop2
HBase中表的設計
主要是將原來的關系解開
問題:
例子:
表設計一:
表設計二:
這是一個雙向查詢,根據人員查角色,根據角色查人員
問題:
0為頂級部門,1為子部門
放到一張表中不會對效率產生影響,因為HBASE是海量存儲,海量讀寫的。
Redis是一個內存數據庫,新浪微博是使用Redis用的最好的一家公司
Redis可以持久化到本地,可以解決並發的問題
表設計中的兩點:
1.加前綴,為了便於區分
2.不加前綴,進行解耦
表設計案例二:微博
規律:
如果是一對多,從一端保存多端的信息就可以
如果是一對一,就是單一的操作,不用建兩張表
多對多建表的時候,數據冗余比較嚴重,需要建雙端的查詢
微博的表設計:一對多
rowkey盡量短,
列族盡量少於三個,太多的話會增加磁盤IO。
參考:
https://blog.csdn.net/wyqwilliam/article/details/82025004
https://www.cnblogs.com/cxzdy/p/5118456.html