James Taylor created PHOENIX-2028:
-------------------------------------

             Summary: 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


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)

Reply via email to