16进制 hbase phoenix_【建议收藏】HBase表的RowKey设计
生活随笔
收集整理的這篇文章主要介紹了
16进制 hbase phoenix_【建议收藏】HBase表的RowKey设计
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Hello,大家好,我是勾叔。今天和大家談一下HBase表的RowKey設計,談HBase表的RowKey設計之前,先來認識RowKey。
RowKey簡介
RowKey,即每行數據的主鍵。Rowkey由用戶指定的一串不重復的字符串定義,是一行的唯一標識。數據是按照RowKey的字典順序存儲的,并且查詢數據時只能根據RowKey進行檢索,所以RowKey的設計十分重要。如果使用了之前已定義的RowKey,那么會將之前的數據進行更新。認識RowKey后,我們來了解ASCII碼的字典順序,示例如下:012,0,123,234,30,3,012,123,2340,012,123,234,3字典序的排序規則是先比較第一個字節,如果相同,則比較第二個字節,以此類推,直到第X個字節,其中一個已經超出了RowKey的長度,短RowKey排在前面。了解并認識了RowKey和字典序的排序規則后,我們依次從RowKey設計的長度原則、散列原則、唯一原則、排序原則來介紹RowKey的設計。RowKey設計
RowKey長度原則
RowKey是一個二進制碼流,可以是任意字符串,最大長度64kb,實際應用中,一般為10-100bytes,以byte[]形式保存,一般設計為定長。建議越短越好,不要超過16個字節。設計過長會降低memstore內存的利用率和HFile存儲數據的效率。RowKey散列原則建議將RowKey的高位作為散列字段,這樣可以將數據均衡分布在每個RegionServer,以實現負載均衡的幾率。RowKey唯一原則必須在設計上保證其唯一性,一共有三種方式訪問hbase table中的行,具體如下:- 單個RowKey
- RowKey 的Range
- 全表掃描(一定要避免全表掃描)
總結
以上是生活随笔為你收集整理的16进制 hbase phoenix_【建议收藏】HBase表的RowKey设计的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: axure rp制作输入法_Axure教
- 下一篇: shell中的mput_FTP命令详解