環境
虛擬機器: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可以持久化到本地,可以解決併發的問題
表設計中的兩點:
1.加字首,為了便於區分
2.不加字首,進行解耦
表設計案例二:微博
規律:如果是一對多,從一端儲存多端的資訊就可以
如果是一對一,就是單一的操作,不用建兩張表
多對多建表的時候,資料冗餘比較嚴重,需要建雙端的查詢
微博的表設計:一對多
rowkey盡量短,
列族盡量少於三個,太多的話會增加磁碟io。
資料:hbase 表設計、讀表、寫表優化.doc
參考:
HBase學習之HBase的RowKey設計原則
hbase是三維有序儲存的,通過rowkey 行鍵 column key column family和qualifier 和timestamp 時間戳 這個三個維度可以對hbase中的資料進行快速定位。hbase中rowkey可以唯一標識一行記錄,在hbase查詢的時候,有以下幾種方式 通過get方...
HBase學習之路 四 理解HBase的基本架構
二 hbase表資料模型 三 hbase核心架構 四 hbase讀寫流程 五 總結 hbase是面向列的非關係型資料庫,可以簡單地總結,列是hbase最基本的單位,一行由多列組成。具體組成結構如下 1.行健 行健 rowkey 的作用是在hbase表中唯一標識一行,與關係型資料庫中的主鍵很類似,在同...
Hadoop學習筆記(四) HBase
hbase是乙個高可靠性 高效能 面向列 可伸縮的分布式儲存系統,它是google bigtable的開源實現,執行於hdfs檔案系統之上,利用mapreduce處理資料,使用zookeeper作為協同服務,因此可以容錯地儲存海量稀疏的資料。海量資料儲存,方便擴充套件 快速的隨機訪問,獨特的設計使得...