Andrew Purtell created HBASE-13513:
--------------------------------------

             Summary: Row granularity data keys
                 Key: HBASE-13513
                 URL: https://issues.apache.org/jira/browse/HBASE-13513
             Project: HBase
          Issue Type: Sub-task
            Reporter: Andrew Purtell


Currently we can only set data keys at column family granularity. Consider 
support for setting data keys per row. Then tenant specific data keys in a 
multitenant table becomes possible. 

HBASE-13512 proposes to do this per region, which is much easier to achieve 
than what is proposed here, since we'd only vary the existing policy for 
assigning data keys to whole HFiles. However it seems not that difficult to do 
this per row.

When encrypting HFiles we apply encryption on a per block basis, so per row 
encryption can be achievable if internal to an HFile we are willing to pack 
cells into blocks by row. With per-row encryption active we would start a new 
block after we're done with cells for a given row. The result would be an HFile 
with blocks of varying size each including a data key reference in the block 
header, and presumably the set of relevant data keys stored in a meta block. 
Looks like the HFile writer code will let us do that readily, but performance 
concerns and knock-on effects in block caching could make things interesting.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to