In addition to what Ted and Andrew said... If cell A is updated after cell B *and* the application does not set any timestamps *and* cell A and B are part of the same row (i.e. have the same row key) then the timestamp of cell A will be greater then cell B's. If cells A and B are not related by row (or an alternate split policy) there is no guarantee (outside of the precision you can get from NTP).
If you do not mind the plug... These blogs might help to clarify the issues: http://hadoop-hbase.blogspot.com/2012/03/acid-in-hbase.html http://hadoop-hbase.blogspot.com/2012/09/keyvalue-explicit-timestamps-vs.html http://hadoop-hbase.blogspot.com/2011/12/introduction-to-hbase.html -- Lars ________________________________ From: S. Zhou <[email protected]> To: "[email protected]" <[email protected]> Sent: Friday, March 14, 2014 1:45 PM Subject: HBase timestamp consistency aross multiple region servers? Here is what I am trying to figure out: in the same table, if cell A is updated after cell B, is it guaranteed that the time stamp of cell A is always bigger than the time stamp of cell B, even cell A and cell B could be stored on different machines (therefore these two machines might out of sync on time)? The reason I am asking this question is: I want to use time stamp to order the updates by time. These updates are issued from multiple machines. I was thinking to use global counter (stored in a separated HBase table) but I guess that counter table might become a hot spot since each update needs to update this table. My general problem is: I want to sort the updates stored in Hbase from multiple machines. Please let me know if you have good thoughts. Thanks a lot Senqiang
