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 2023/01/20 07:57:00 UTC

[jira] [Commented] (IGNITE-18580) Sql. Redesign the Exchange to use a pull-based approach

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

Konstantin Orlov commented on IGNITE-18580:
-------------------------------------------

Run benchmark to get sure the patch doesn't affect performance. Turns out it does, but in positive way.

Below is result on my branch:

|| Benchmark || Mode || Cnt || Score || Error || Units ||
|SqlBenchmark.selectAllSimple|thrpt|60|1402.852|± 83.882|ops/s|

And there is result on main branch (revision a9350e42, some adjustment to benchmark is required):

|| Benchmark || Mode || Cnt || Score || Error || Units ||
|SqlBenchmark.selectAllSimple|thrpt|60|829.507|± 36.042|ops/s|


> Sql. Redesign the Exchange to use a pull-based approach
> -------------------------------------------------------
>
>                 Key: IGNITE-18580
>                 URL: https://issues.apache.org/jira/browse/IGNITE-18580
>             Project: Ignite
>          Issue Type: Improvement
>          Components: sql
>            Reporter: Konstantin Orlov
>            Assignee: Konstantin Orlov
>            Priority: Major
>              Labels: ignite-3
>             Fix For: 3.0.0-beta2
>
>
> Currently, Exchange uses push-based strategy to exchange batches between different fragments. Such an approach works well for cases of scanning the whole table, but may cause an unnecessary overhead in cases, where the smaller amount of rows is expected. For example, for query "SELECT * FROM table LIMIT 4", IO_BATCH_SIZE * IO_BATCH_COUNT * NODE_COUNT rows will be sent over network in push-based approach, whereas only 4 * NODE_COUNT will be sent in pull-based.
> Let's redesign Exchange to gain more control over amount of data that is sent over the network. 



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