Having the time part of the key isn't the problem since it comes after the metric uid. Allowing metric uids sequentially is a problem, and we fixed that ourselves by reversing the bytes when the uid is allocated (which means starting from empty or rewriting the existing uids). Then you can presplit your regions evenly and traffic will be balanced between them. Couple that with seeing TTL on rows and it stays balanced as time goes on.
John A. Tamplin (phone)
> Allowing metric uids sequentially is a problemThis sounds interesting, could you please elaborate on what the problem is? How does modifying the UID assigment scheme facilitate evenly split HBase regions?
> > Couple that with seeing TTL on rows> I'm afraid I don't know what "TTL on rows" is referring to. Do you mind elaborating?OK, I did some reading on this. It sounds excellent! I was looking for this sort of functionality form OpenTSDB itself, but I assume you do custom Hbase configuration to use this feature?
I had mentioned it here a while back, but it seemed like the interest was in assigning random UIDs instead to solve the same problem. If there is interest, I could package up a patch - since it only happens at UID allocation time, it is a pretty small patch. The only real downside is that you can't have any existing data when you switch to this, or you will have to do something to rewrite all the UIDs (both in the table, and in all the rows).