rowkey設計原則

2021-08-19 11:13:17 字數 559 閱讀 7010

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方...