from http://hbase.apache.org/0.94/book/rowkey.design.html
Rowkey design
Monotonically Increasing Row Keys/Timeseries Data
in general it's best to avoid using a timestamp or a sequence (e.g. 1, 2, 3) as the row-key
The key format in OpenTSDB is effectively [metric_type][event_timestamp]
Try to minimize row and column sizes
Reverse Timestamps
the technique involves appending (Long.MAX_VALUE - timestamp) to the end of any key,
e.g., [key][reverse_timestamp].
Rowkeys and ColumnFamilies
rowkeys 限定在ColumnFamilies中,因此一个表中多个ColumnFamilies可能存在相同的rowkey
rowkey的不变性
在表中它们可以被“改变”的唯一方式是,如果该行被删除,然后重新插入
Relationship Between RowKeys and Region Splits
Pre-splitting tables is generally a best practice, but you need to pre-split them in such a way that all the regions are accessible in the keyspace.
While generally not advisable, using hex-keys (and more generally, displayable data) can still work with pre-split tables as long as all the created regions are accessible in the keyspace.