2

Is it possible to give just "Insert only" permission on table/columnfamily in Hbase?

I checked Hbase documentation on Apache but did not find anything relevant, current ACL has "Write" permission which will include "insert+update".

Can we do just "insert only"?

Chris Martin
  • 30,334
  • 10
  • 78
  • 137
Chhaya Vishwakarma
  • 1,407
  • 9
  • 44
  • 72

1 Answers1

0

No, it is not possible from technical point of view.

To have only insert permission first you need to read data from HBase to check if the data already exists in the table. However, to provide excellent write speed Hbase doesn't read data before write as occurs in traditional SQL databases. Hbase first puts updated data into MemStore, then flushes it to HDFS in a new HFile. The old HFile counting the previous version of data is immutable by design and cannot be updated directly. To read the data HBase will look for it in both HFile and the MemStore and choose an the latest version.

Note, after compaction, the both Files will be merged and only newest version will remain in the storage.

Martin Serrano
  • 3,727
  • 1
  • 35
  • 48
Alexander Kuznetsov
  • 3,062
  • 2
  • 25
  • 29
  • @martin serrano Hi,I have configured HBase-1.1.3 and Hadoop-2.7.2 with Kerberos security. I have enabled authorization for HBase. When executing any authorization command like user_permission, grant, revoke, etc. Its getting more than 40 seconds to display the result. Help me to improve performance on HBase acl. Thanks, Mathes – mathes Oct 11 '16 at 09:21