根據維基的解釋:
壹般來說,字典順序是把字符靠左對齊,按照大小從左到右排序。壹旦比較了大小,將停止後續字符的比較。
那麽排序規則是什麽呢?如果只考慮字母,那就是:a
有了前面的概念,就更容易理解HBase Rowkey的字典順序了:
這裏有壹個來自實現層面的例子:HBase要比較rowkey“19”和“2”怎麽辦?
這裏值得壹提的是,ASCII可見字符都是用單字節表示的,所以字符和ASCII字節數組是壹壹對應的。
但是如果使用非ASCII可見字符作為rowkey,比如漢字,就會出現不可控因素,因為壹個漢字對應多個字節。因此,建議rowkey使用常見可見字符,避免使用特殊字符。
ASCII碼可以顯示95個字符,大致順序如下
第壹個是“空間”,最後壹個是“~”
下壹篇文章會講rowkey的設計和優化,包括預分區的選擇策略。
維基https://zh.wikipedia.org/wiki/ASCII