You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "Ankit Singhal (JIRA)" <ji...@apache.org> on 2016/12/28 09:23:58 UTC

[jira] [Commented] (PHOENIX-2565) Store data for immutable tables in single KeyValue

    [ 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)