爲什麼從HBase的0.96版本開始,捨棄了-ROOT-文件?

HBase結構的讀寫流程

(1). HBase0.96版本之前:

在這裏插入圖片描述

(2). HBase0.96開始:

a. 當客戶端獲取到.meta文件的位置之後,會緩存.meta.文件的位置
b. 客戶端還會緩存HRegion的位置

在這裏插入圖片描述

-ROOT-存在的意義:
》 HBase是爲了存儲大量數據
》數據量大的時候,會產生大量的元數據
》元數據過多,一個Block可能不夠,那麼就需要分佈式存儲
》設置-ROOT-記錄元數據的位置
》-ROOT- 總賬 -> .meta. 分賬 -> 數據

捨棄-ROOT-的原因:
》一條HBase的元數據在100字節左右
》Block的大小默認是128M=134217728B
》一個Block大概能存儲134W條元數據
》一個表一般能產生3-5條元數據
》一個Block大概能記錄26W個表的信息
》一個項目再複雜,表的個數一般也不會過百
》此時-ROOT-沒有存在的意義

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章