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)