[ 
https://issues.apache.org/jira/browse/IGNITE-22263?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Konstantin Orlov updated IGNITE-22263:
--------------------------------------
    Fix Version/s: 3.0.0-beta2

> Sql. Avoid starting transaction for KV operation
> ------------------------------------------------
>
>                 Key: IGNITE-22263
>                 URL: https://issues.apache.org/jira/browse/IGNITE-22263
>             Project: Ignite
>          Issue Type: Improvement
>          Components: sql
>            Reporter: Konstantin Orlov
>            Assignee: Konstantin Orlov
>            Priority: Major
>              Labels: ignite-3
>             Fix For: 3.0.0-beta2
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> Currently, performance of KV put operation via SQL API is ~2 times worse than 
> via KeyValueView API:
> {code:java}
> Benchmark                  (clusterSize)  Mode  Cnt    Score   Error  Units
> InsertBenchmark.kvInsert               1  avgt   20   67.154 ± 4.266  us/op
> InsertBenchmark.sqlInsert              1  avgt   20  149.900 ± 9.679  us/op
> // these numbers acquired on MBP M3, commit c25f9fda.
> {code}
> This is caused by the fact that sql engine starts transaction explicitly if 
> one was not provided by the user, thus not taking an advantage of single 
> phase commit optimisation which is available for implicit transactions which 
> touch only one partition.
> We can address the issue by postponing the moment of starting a transaction 
> till execution phase. This will help to avoid starting an explicit 
> transaction for simple KV cases.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to