hbase-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Anoop Sam John <anoo...@huawei.com>
Subject RE: Disable timestamp in HBase Table a.k.a Disable Versioning in HBase Table
Date Fri, 25 May 2012 00:57:13 GMT
Hi Anil,
           There is no way you can avoid the timestamp with KVs. In your case you can think
of using data block encoding? You can see FastDiffDeltaEncoder and DiffKeyDeltaEncoder. This
includes way of avoiding writing the 8 bytes into each KV for timestamp. Still some bytes
will be written though and this will be done at the block level. Also pls note that these
encoders will do much more things than the timestamp space optimization. Also you need to
make sure to pass some timestamp in your Puts. May be better make as 0L. Else in RS side HBase
will assign the cur time as the timestamp.  Hope when u read the javadoc for these encoder
classes, u will be more clear.  

The one you are telling abt having a feature to fully avoid the timestamp is a topic to discuss

Hope I make it clear to you

From: anil gupta [anilgupta84@gmail.com]
Sent: Friday, May 25, 2012 3:21 AM
To: user@hbase.apache.org
Subject: Disable timestamp in HBase Table a.k.a Disable Versioning in HBase Table

Hi All,

We are planning to store data in HBase. Currently, in one of our use case
once a row is written into HBase Table we wont be modifying the data of
that row. Since, for every cell(right?) in HBase a timestamp(long value) is
stored; this would take up extra 8 bytes. I was thinking is there a way to
disable timestamp on HBase table when versioning is not required. I went
through the documentation and searched mailing list for same but could not
find anything relevant. Since we are talking about billions of cells, this
would add up to significant amount of space.(around 7.45 GigaBytes for 1
billion cells). Does this sounds like a feature HBase is missing?

Please share your thoughts.

Thanks & Regards,
Anil Gupta

View raw message