You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "James Taylor (JIRA)" <ji...@apache.org> on 2016/01/24 03:04:40 UTC

[jira] [Commented] (PHOENIX-2028) Improve performance of write path

    [ https://issues.apache.org/jira/browse/PHOENIX-2028?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15114119#comment-15114119 ] 

James Taylor commented on PHOENIX-2028:
---------------------------------------

See PHOENIX-1711 for some perf numbers.

> Improve performance of write path
> ---------------------------------
>
>                 Key: PHOENIX-2028
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-2028
>             Project: Phoenix
>          Issue Type: Bug
>            Reporter: James Taylor
>            Assignee: James Taylor
>              Labels: YARN-TLS
>             Fix For: 4.8.0
>
>
> The following improvements can be made to bring the cost of UPSERT VALUES more inline with direct HBase API usage:
> - don't re-compile a prepared UPSERT VALUES statement that is re-executed (see patch on PHOENIX-1711).
> - change MutationState to use a List instead of a Map at the top level. It's ok to have duplicate rows here, as they'll get folded together when we generate the List<Mutation>.
> - change each mutation in the list to be a simple List<byte[]>. We can keep a pointer to the PTable and a List<int> of positions into the PTable columns instead of maintaining a Map for each row. Again, this will get folded together when we generate the List<Mutation>.
> - we don't need to create Mutations for PhoenixRuntime.getUncommittedDataIterator() and it appears we don't need to sort (though we should verify that). Instead, we'll just generate a List<KeyValue> for each row in MutationState, allowing duplicate and out-of-order row keys.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)