Support Cloud BigTable of Google Cloud Platform
Opened this issue · 1 comments
Google announced Cloud BigTable which support subset of HBase APIs:
http://googlecloudplatform.blogspot.kr/2015/05/introducing-Google-Cloud-Bigtable.html
Cloud BigTable do not support some HBase APIs, such as Coprocessors, Admin and so on:
https://cloud.google.com/bigtable/docs/hbase-differences
Haeinsa is likely to support Cloud BigTable, since Haeinsa do not use Coprocessors. (Unlike other libraries implementing transaction on HBase)
But, there is problem:
Deleting a specific version of a column based on its timestamp is not supported.
The following methods in the class org.apache.hadoop.hbase.client.Delete are not supported:
new Delete(byte[] row, long timestamp)
addColumn(byte[] family, byte[] qualifier)
addFamily(byte[] family, long timestamp)
addFamilyVersion(byte[] family, long timestamp)
Since Haeinsa depends on deleting a specific version of a column based on its timestamp
, this problem must be solved to Haeinsa to support Cloud BigTable.
This problem might be able to solved by using something tombstone mechanism, rather than deleting column by specific version.
One more problem:
ColumnRangeFilter
in Cloud BigtTAble only supports a single column family. This is problem when executing scan with transaction. This can be solved by runing multiple scan consequently and merging results.