您好,登錄后才能下訂單哦!
這篇文章主要介紹了Hbase中rowKey的設計原則是什么,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
Hbase 的 rowKey 的設計原則
設計可參考以下三個原則.
1、 rowkey 長度原則
rowkey 是一個二進制碼流,可以是任意字符串,最大長度 64kb,實際應用中一般為 10-100bytes,以 byte[]形式保存,一般設計成定長。建議越短越好,不要超過 16 個字節, 原因如下:
數據的持久化文件 HFile 中是按照 KeyValue 存儲的,如果 rowkey 過長會極大影響 HFile 的存儲效率 MemStore 將緩存部分數據到內存,如果 rowkey 字段過長,內存的有效利用率就會降低,系統不能緩存更多的數據,這樣會降低檢索效率
2、 rowkey 散列原則
如果 rowkey 按照時間戳的方式遞增,不要將時間放在二進制碼的前面,建議將 rowkey 的高位作為散列字段,由程序隨機生成,低位放時間字段,這樣將提高數據均衡分布在每個 RegionServer,以實現負載均衡的幾率。如果沒有散列字段,首字段直接是時間信息,所有的數據都會集中在一個 RegionServer 上,這樣在數據檢索的時候負載會集中在個別的 RegionServer 上,造成熱點問題,會降低查詢效率。
3、 rowkey 唯一原則
必須在設計上保證其唯一性,rowkey 是按照字典順序排序存儲的,因此, 設計 rowkey 的時候,要充分利用這個排序的特點,將經常讀取的數據存儲到一塊,將最近可能會被訪問的數據放到一塊。
感謝你能夠認真閱讀完這篇文章,希望小編分享的“Hbase中rowKey的設計原則是什么”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。