[
https://issues.apache.org/jira/browse/PHOENIX-5923?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17117183#comment-17117183
]
Geoffrey Jacoby commented on PHOENIX-5923:
------------------------------------------
Agreed that this could be done for global mutable indexes efficiently, but does
this cause lots of added complexity for operations like index verification and
scrutiny that need to compare values between data table and index?
> Supporting the single cell storage format for mutable global indexes
> --------------------------------------------------------------------
>
> Key: PHOENIX-5923
> URL: https://issues.apache.org/jira/browse/PHOENIX-5923
> Project: Phoenix
> Issue Type: Improvement
> Affects Versions: 5.0.0, 4.14.3
> Reporter: Kadir OZDEMIR
> Priority: Major
>
> It is known that IMMUTABLE_STORAGE_SCHEME = SINGLE_CELL_ARRAY_WITH_OFFSETS
> leads to performance improvement and storage saving. As the name implies this
> storage scheme is currently supported for immutable tables only. Supporting
> the SINGLE_CELL_ARRAY_WITH_OFFSETS storage format for mutable table requires
> reading existing rows for before mutating them, i.e., read-modify-write.
> However, this storage scheme can be used for mutable global index tables
> without any additional IO operation since for every index table update, we
> always read the corresponding data table row and generate the full index row
> from the current state of the data table row and the pending mutation on this
> row. This full index row can be stored using the
> SINGLE_CELL_ARRAY_WITH_OFFSETS storage format even though the data table can
> continue using a mutable storage format. This will allow index tables to
> enjoy the performance improvement and storage saving due to this storage
> format.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)