[
https://issues.apache.org/jira/browse/HBASE-28597?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17847154#comment-17847154
]
Istvan Toth commented on HBASE-28597:
-------------------------------------
I poked around in the code a bit.
Looks like org.apache.hadoop.hbase.ipc.CellBlockBuilder does everything we
want, including optional compression.
The intrinsic compression of storing the rowKey separately is lost, but if
that's good enough for the native RPC protocol, it should be good enough for
REST.
> Support native Cell format in REST server and client
> ----------------------------------------------------
>
> Key: HBASE-28597
> URL: https://issues.apache.org/jira/browse/HBASE-28597
> Project: HBase
> Issue Type: Wish
> Components: REST
> Reporter: Istvan Toth
> Priority: Major
>
> REST currently uses its own (outdated) CellSetModel format for transferring
> cells.
> This is fine for XML and JSON, which are slow anyway and even slower handling
> byte arrays, and is expected to be used in cases where a simple client code
> which does not depend on the hbase java libraries is more important than raw
> performance.
> However, we perform the same marshalling and unmarshalling when we are using
> protobuf, which doesn't really add value, but eats up resources.
> We could add a new encoding for Results which uses the native cell format, by
> simply dumping the binary cell bytestreams into the REST response body.
> This should save a lot of resources on the server side, and would be either
> faster, or the same speed on the client.
> As an additional advantage, the resulting Cells would be of native HBase Cell
> type instead of the REST Cell type.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)