[
https://issues.apache.org/jira/browse/PHOENIX-2565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15782480#comment-15782480
]
Ankit Singhal commented on PHOENIX-2565:
----------------------------------------
[~tdsilva]/[~jamestaylor], are we considering any other encoding for storing
data in single keyValue apart from using VARBINARY array serialisation format?
Because in our case, when there are 100s of columns and each column is not
null, then VARBINARY array serialisation is taking 2x space(as offset being
stored along with data) when compared to RowKey format used for serialising all
the columns in a single byte array.
should we look into optimising the encoding here, storing columns in byte
array separated by delimiter like VAR array encoding but without offset, OR
avro serialization or any other option?
+[~ndimiduk]/[~enis]/[~sergey.soldatov]
> Store data for immutable tables in single KeyValue
> --------------------------------------------------
>
> Key: PHOENIX-2565
> URL: https://issues.apache.org/jira/browse/PHOENIX-2565
> Project: Phoenix
> Issue Type: Improvement
> Reporter: James Taylor
> Assignee: Thomas D'Silva
> Attachments: PHOENIX-2565-v2.patch, PHOENIX-2565-wip.patch,
> PHOENIX-2565.patch
>
>
> Since an immutable table (i.e. declared with IMMUTABLE_ROWS=true) will never
> update a column value, it'd be more efficient to store all column values for
> a row in a single KeyValue. We could use the existing format we have for
> variable length arrays.
> For backward compatibility, we'd need to support the current mechanism. Also,
> you'd no longer be allowed to transition an existing table to/from being
> immutable. I think the best approach would be to introduce a new IMMUTABLE
> keyword and use it like this:
> {code}
> CREATE IMMUTABLE TABLE ...
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)