You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Konstantin Orlov (Jira)" <ji...@apache.org> on 2024/05/17 09:32:00 UTC
[jira] [Assigned] (IGNITE-22263) Sql. Avoid starting transaction for KV operation
[ https://issues.apache.org/jira/browse/IGNITE-22263?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Konstantin Orlov reassigned IGNITE-22263:
-----------------------------------------
Assignee: Konstantin Orlov
> 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
>
> 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)