rowkey是二進位製碼流,可以是任意字串,最大長度64kb。
一、rowkey長度原則
建議越短越好,因為如果要儲存多行資料的話,單憑rowkey就要占用很多的儲存空間,這樣會嚴重影響hfile的儲存效率。
二、rowkey雜湊原則
如果rowkey按照時間戳的方式遞增,不要將時間放在二進位製碼的前面,建議將rowkey的高位作為雜湊字段,由程式自動生成,低位放時間字段,這樣將提高資料均衡分布在每個regionserver,以實現負載均衡。
三、rowkey唯一原則
必須在設計上保證其唯一性,rowkey是按照字典順序排序儲存的,因此設計rowkey的時候,要充分利用這個排序的特點,將經常讀取的資料儲存到一塊,將最近可能會被訪問的資料放到一塊。
什麼是熱點?
熱點發生在大量的client直接訪問集群的乙個或極少數個節點上。大量訪問使熱點region所在單個機器超出自身承受能力,引起效能下降甚至region不可用,這也會影響同乙個regionserver上的其他region。
解決熱點問題的幾種方式:加隨機數、雜湊、反轉、時間戳反轉
rowKey設計原則 設計方法
1 rowkey 長度原則 rowkey是乙個二進位製碼流,可以為任意字串,最大長度為64kb,實際應用中一般為10 100bytes,它以byte形式儲存,一般設定成定長。一般越短越好,不要超過16個位元組,注意原因如下 1 目前作業系統都是64位系統,記憶體8位元組對齊,控制在16位元組,8位元...
HBase的RowKey設計原則
hbase是三維有序儲存的,通過rowkey 行鍵 column key column family和qualifier 和timestamp 時間戳 這個三個維度可以對hbase中的資料進行快速定位。hbase中rowkey可以唯一標識一行記錄,在hbase查詢的時候,有以下幾種方式 通過get方...
HBase的RowKey設計原則
hbase是三維有序儲存的,通過rowkey 行鍵 column key column family和qualifier 和timestamp 時間戳 這個三個維度可以對hbase中的資料進行快速定位。hbase中rowkey可以唯一標識一行記錄,在hbase查詢的時候,有以下幾種方式 通過get方...