ignite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dmitriy Setrakyan <dsetrak...@apache.org>
Subject Re: Optimized DML execution: how to name it?
Date Fri, 13 Oct 2017 01:57:43 GMT
On Wed, Oct 11, 2017 at 11:45 PM, Vladimir Ozerov <vozerov@gridgain.com>

> Igniters,
> We prepared optimization of DML processing. Instead of passing all data
> being updated through the client node, now we can optionally send SQL
> statement to data nodes and perform update locally. This could greatly
> improve performance of certain DML operations.
> Unfortunately we cannot enable this mode by default, because it is still a
> bit raw and there is a risk of regressions.

This feature should be enabled by default, as it should not be up to a user
to decide when to use it. Whatever name we come up with now will be
temporary, so it does not really matter.

Also when transactional SQL is ready this feature will make no sense in TX
> mode. For this reason we
> disable it by default for now.

We should figure out a proper way to use it in transactional mode. I am
sure we can, once we think it through. But even if we cannot, the system
should automatically decide when to use this optimization and when not to
use it.

> It will be possible to enable it from JDBC/ODBC drivers using a flag.
> Question - how to name this flag? Current name is "*updateOnServer*". I
> doesn't like it much, but cannot do better. Please share other ideas.
> - "distributedDml"? No, every operation is distributed.
> - "serverDml"?

In my view, we should come up with a generic enable/disable switch for all
experimental features. For example,
"experimental=feature1,feature2,feature3". Then, once a feature stops being
experimental, we simply enable it in the system via normal Ignite
configuration or by default.

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message