Re: About index inline size of primary key

2020-05-18 Thread Ilya Kasnacheev
Hello!

I actually think that you should be conservative with that setting, since
large inline size will make your B+-tree taller which may lead to worse
performance.
Setting it to some good default would make sense. It depends on structure
and selectivity of your primary keys.

Regards,
-- 
Ilya Kasnacheev


пн, 18 мая 2020 г. в 16:53, 18624049226 <18624049...@163.com>:

> Hi Ilya,
>
> Then I think this property should be ready in the production planning
> stage.
> So the problem is, if there are many tables in the system and many tables
> have combined primary keys, should this attribute be configured with a
> relatively large value at the beginning, such as 40 and 50? What's the
> negative impact? Instead of waiting for notifications from the log.
> 在 2020/5/18 下午9:45, Ilya Kasnacheev 写道:
>
> Hello!
>
> I think this is correct. Moreover, setting this property on a part of
> cluster may lead to problems of its own. It is recommended to set ot before
> deploying a cluster.
>
> Regards,
> --
> Ilya Kasnacheev
>
>
> пн, 18 мая 2020 г. в 16:40, 18624049226 <18624049...@163.com>:
>
>> Hi Ilya,
>>
>> Thank you very much for your reply!
>> I wonder if the existing primary key index will not be rebuilt after this
>> property is configured? Will only affect newly created tables in the future?
>> 在 2020/5/18 下午9:25, Ilya Kasnacheev 写道:
>>
>> Hello!
>>
>> Yes, it will have global impact on all indexes on primary keys, and all
>> indexes created without INLINE SIZE clause.
>>
>> Regards,
>> --
>> Ilya Kasnacheev
>>
>>
>> чт, 14 мая 2020 г. в 16:53, 38797715 <38797...@qq.com>:
>>
>>> Hi,
>>>
>>> I see this property.
>>> If this property is configured, it has a global impact? What is the
>>> influence range of this parameter?
>>> 在 2020/5/14 下午9:41, Stephen Darlington 写道:
>>>
>>> Exactly as the warning says, with the IGNITE_MAX_INDEX_PAYLOAD_SIZE
>>> property:
>>>
>>> ./ignite.sh -J-DIGNITE_MAX_INDEX_PAYLOAD_SIZE=33
>>>
>>> Regards,
>>> Stephen
>>>
>>> On 14 May 2020, at 14:23, 38797715 <38797...@qq.com> wrote:
>>>
>>> Hi,
>>>
>>> Today, I see the following information in the log:
>>> [2020-05-14T16:42:04,346][WARN][query-#7759][IgniteH2Indexing] Indexed
>>> columns of a row cannot be fully inlined into index what may lead to
>>> slowdown due to additional data page reads, increase index inline size
>>> if needed (set system property IGNITE_MAX_INDEX_PAYLOAD_SIZE with
>>> recommended size (be aware it will be used by default for all indexes
>>> without explicit inline size)) [cacheName=NEW, tableName=NEW,
>>> idxName=_key_PK, idxCols=(CO_NUM, CUST_ID), idxType=PRIMARY KEY,
>>> curSize=10, recommendedInlineSize=33]
>>>
>>> I know that the create index statement has an inline_ size clause, but I
>>> want to ask, how to adjust the inline size of primary key?
>>>
>>>
>>>
>>>


Re: About index inline size of primary key

2020-05-18 Thread 18624049226

Hi Ilya,

Then I think this property should be ready in the production planning stage.
So the problem is, if there are many tables in the system and many 
tables have combined primary keys, should this attribute be configured 
with a relatively large value at the beginning, such as 40 and 50? 
What's the negative impact? Instead of waiting for notifications from 
the log.


在 2020/5/18 下午9:45, Ilya Kasnacheev 写道:

Hello!

I think this is correct. Moreover, setting this property on a part of 
cluster may lead to problems of its own. It is recommended to set ot 
before deploying a cluster.


Regards,
--
Ilya Kasnacheev


пн, 18 мая 2020 г. в 16:40, 18624049226 <18624049...@163.com 
<mailto:18624049...@163.com>>:


Hi Ilya,

Thank you very much for your reply!
I wonder if the existing primary key index will not be rebuilt
after this property is configured? Will only affect newly created
tables in the future?

在 2020/5/18 下午9:25, Ilya Kasnacheev 写道:

Hello!

Yes, it will have global impact on all indexes on primary keys,
and all indexes created without INLINE SIZE clause.

Regards,
-- 
Ilya Kasnacheev



чт, 14 мая 2020 г. в 16:53, 38797715 <38797...@qq.com
<mailto:38797...@qq.com>>:

Hi,

I see this property.
If this property is configured, it has a global impact? What
is the influence range of this parameter?

在 2020/5/14 下午9:41, Stephen Darlington 写道:

Exactly as the warning says, with
the IGNITE_MAX_INDEX_PAYLOAD_SIZE property:

./ignite.sh -J-DIGNITE_MAX_INDEX_PAYLOAD_SIZE=33

Regards,
Stephen


On 14 May 2020, at 14:23, 38797715 <38797...@qq.com
<mailto:38797...@qq.com>> wrote:

Hi,

Today, I see the following information in the log:

[2020-05-14T16:42:04,346][WARN][query-#7759][IgniteH2Indexing]
Indexed columns of a row cannot be fully inlined into index
what may lead to slowdown due to additional data page
    reads, increase index inline size if needed (set system
property IGNITE_MAX_INDEX_PAYLOAD_SIZE with recommended
size (be aware it will be used by default for all indexes
without explicit inline size)) [cacheName=NEW,
tableName=NEW, idxName=_key_PK, idxCols=(CO_NUM, CUST_ID),
idxType=PRIMARY KEY, curSize=10, recommendedInlineSize=33]

I know that the create index statement has an inline_ size
clause, but I want to ask, how to adjust theinline size of
primary key?






Re: About index inline size of primary key

2020-05-18 Thread Ilya Kasnacheev
Hello!

I think this is correct. Moreover, setting this property on a part of
cluster may lead to problems of its own. It is recommended to set ot before
deploying a cluster.

Regards,
-- 
Ilya Kasnacheev


пн, 18 мая 2020 г. в 16:40, 18624049226 <18624049...@163.com>:

> Hi Ilya,
>
> Thank you very much for your reply!
> I wonder if the existing primary key index will not be rebuilt after this
> property is configured? Will only affect newly created tables in the future?
> 在 2020/5/18 下午9:25, Ilya Kasnacheev 写道:
>
> Hello!
>
> Yes, it will have global impact on all indexes on primary keys, and all
> indexes created without INLINE SIZE clause.
>
> Regards,
> --
> Ilya Kasnacheev
>
>
> чт, 14 мая 2020 г. в 16:53, 38797715 <38797...@qq.com>:
>
>> Hi,
>>
>> I see this property.
>> If this property is configured, it has a global impact? What is the
>> influence range of this parameter?
>> 在 2020/5/14 下午9:41, Stephen Darlington 写道:
>>
>> Exactly as the warning says, with the IGNITE_MAX_INDEX_PAYLOAD_SIZE
>> property:
>>
>> ./ignite.sh -J-DIGNITE_MAX_INDEX_PAYLOAD_SIZE=33
>>
>> Regards,
>> Stephen
>>
>> On 14 May 2020, at 14:23, 38797715 <38797...@qq.com> wrote:
>>
>> Hi,
>>
>> Today, I see the following information in the log:
>> [2020-05-14T16:42:04,346][WARN][query-#7759][IgniteH2Indexing] Indexed
>> columns of a row cannot be fully inlined into index what may lead to
>> slowdown due to additional data page reads, increase index inline size
>> if needed (set system property IGNITE_MAX_INDEX_PAYLOAD_SIZE with
>> recommended size (be aware it will be used by default for all indexes
>> without explicit inline size)) [cacheName=NEW, tableName=NEW,
>> idxName=_key_PK, idxCols=(CO_NUM, CUST_ID), idxType=PRIMARY KEY,
>> curSize=10, recommendedInlineSize=33]
>>
>> I know that the create index statement has an inline_ size clause, but I
>> want to ask, how to adjust the inline size of primary key?
>>
>>
>>
>>


Re: About index inline size of primary key

2020-05-18 Thread 18624049226

Hi Ilya,

Thank you very much for your reply!
I wonder if the existing primary key index will not be rebuilt after 
this property is configured? Will only affect newly created tables in 
the future?


在 2020/5/18 下午9:25, Ilya Kasnacheev 写道:

Hello!

Yes, it will have global impact on all indexes on primary keys, and 
all indexes created without INLINE SIZE clause.


Regards,
--
Ilya Kasnacheev


чт, 14 мая 2020 г. в 16:53, 38797715 <38797...@qq.com 
<mailto:38797...@qq.com>>:


Hi,

I see this property.
If this property is configured, it has a global impact? What is
the influence range of this parameter?

在 2020/5/14 下午9:41, Stephen Darlington 写道:

Exactly as the warning says, with
the IGNITE_MAX_INDEX_PAYLOAD_SIZE property:

./ignite.sh -J-DIGNITE_MAX_INDEX_PAYLOAD_SIZE=33

Regards,
Stephen


On 14 May 2020, at 14:23, 38797715 <38797...@qq.com
<mailto:38797...@qq.com>> wrote:

Hi,

Today, I see the following information in the log:

[2020-05-14T16:42:04,346][WARN][query-#7759][IgniteH2Indexing]
Indexed columns of a row cannot be fully inlined into index what
may lead to slowdown due to additional data page reads, increase
index inline size if needed (set system property
IGNITE_MAX_INDEX_PAYLOAD_SIZE with recommended size (be aware it
will be used by default for all indexes without explicit inline
size)) [cacheName=NEW, tableName=NEW, idxName=_key_PK,
idxCols=(CO_NUM, CUST_ID), idxType=PRIMARY KEY, curSize=10,
recommendedInlineSize=33]

I know that the create index statement has an inline_ size
clause, but I want to ask, how to adjust theinline size of
primary key?






Re: About index inline size of primary key

2020-05-18 Thread Ilya Kasnacheev
Hello!

Yes, it will have global impact on all indexes on primary keys, and all
indexes created without INLINE SIZE clause.

Regards,
-- 
Ilya Kasnacheev


чт, 14 мая 2020 г. в 16:53, 38797715 <38797...@qq.com>:

> Hi,
>
> I see this property.
> If this property is configured, it has a global impact? What is the
> influence range of this parameter?
> 在 2020/5/14 下午9:41, Stephen Darlington 写道:
>
> Exactly as the warning says, with the IGNITE_MAX_INDEX_PAYLOAD_SIZE
> property:
>
> ./ignite.sh -J-DIGNITE_MAX_INDEX_PAYLOAD_SIZE=33
>
> Regards,
> Stephen
>
> On 14 May 2020, at 14:23, 38797715 <38797...@qq.com> wrote:
>
> Hi,
>
> Today, I see the following information in the log:
> [2020-05-14T16:42:04,346][WARN][query-#7759][IgniteH2Indexing] Indexed
> columns of a row cannot be fully inlined into index what may lead to
> slowdown due to additional data page reads, increase index inline size if
> needed (set system property IGNITE_MAX_INDEX_PAYLOAD_SIZE with recommended
> size (be aware it will be used by default for all indexes without
> explicit inline size)) [cacheName=NEW, tableName=NEW, idxName=_key_PK,
> idxCols=(CO_NUM, CUST_ID), idxType=PRIMARY KEY, curSize=10, recommendedInl
> ineSize=33]
>
> I know that the create index statement has an inline_ size clause, but I
> want to ask, how to adjust the inline size of primary key?
>
>
>
>


Re: About index inline size of primary key

2020-05-14 Thread 38797715

Hi,

I see this property.
If this property is configured, it has a global impact? What is the 
influence range of this parameter?


在 2020/5/14 下午9:41, Stephen Darlington 写道:
Exactly as the warning says, with the IGNITE_MAX_INDEX_PAYLOAD_SIZE 
property:


./ignite.sh -J-DIGNITE_MAX_INDEX_PAYLOAD_SIZE=33

Regards,
Stephen

On 14 May 2020, at 14:23, 38797715 <38797...@qq.com 
<mailto:38797...@qq.com>> wrote:


Hi,

Today, I see the following information in the log:

[2020-05-14T16:42:04,346][WARN][query-#7759][IgniteH2Indexing] 
Indexed columns of a row cannot be fully inlined into index what may 
lead to slowdown due to additional data page reads, increase index 
inline size if needed (set system property 
IGNITE_MAX_INDEX_PAYLOAD_SIZE with recommended size (be aware it will 
be used by default for all indexes without explicit inline size)) 
[cacheName=NEW, tableName=NEW, idxName=_key_PK, idxCols=(CO_NUM, 
CUST_ID), idxType=PRIMARY KEY, curSize=10, recommendedInlineSize=33]


I know that the create index statement has an inline_ size clause, 
but I want to ask, how to adjust theinline size of primary key?







Re: About index inline size of primary key

2020-05-14 Thread Stephen Darlington
Exactly as the warning says, with the IGNITE_MAX_INDEX_PAYLOAD_SIZE property:

./ignite.sh -J-DIGNITE_MAX_INDEX_PAYLOAD_SIZE=33

Regards,
Stephen

> On 14 May 2020, at 14:23, 38797715 <38797...@qq.com> wrote:
> 
> Hi,
> 
> Today, I see the following information in the log:
> 
> [2020-05-14T16:42:04,346][WARN][query-#7759][IgniteH2Indexing] Indexed 
> columns of a row cannot be fully inlined into index what may lead to slowdown 
> due to additional data page reads, increase index inline size if needed (set 
> system property IGNITE_MAX_INDEX_PAYLOAD_SIZE with recommended size (be aware 
> it will be used by default for all indexes without explicit inline size)) 
> [cacheName=NEW, tableName=NEW, idxName=_key_PK, idxCols=(CO_NUM, CUST_ID), 
> idxType=PRIMARY KEY, curSize=10, recommendedInlineSize=33]
> 
> I know that the create index statement has an inline_ size clause, but I want 
> to ask, how to adjust the inline size of primary key?
> 




About index inline size of primary key

2020-05-14 Thread 38797715

Hi,

Today, I see the following information in the log:

[2020-05-14T16:42:04,346][WARN][query-#7759][IgniteH2Indexing] Indexed 
columns of a row cannot be fully inlined into index what may lead to 
slowdown due to additional data page reads, increase index inline size 
if needed (set system property IGNITE_MAX_INDEX_PAYLOAD_SIZE with 
recommended size (be aware it will be used by default for all indexes 
without explicit inline size)) [cacheName=NEW, tableName=NEW, 
idxName=_key_PK, idxCols=(CO_NUM, CUST_ID), idxType=PRIMARY KEY, 
curSize=10, recommendedInlineSize=33]



I know that the create index statement has an inline_ size clause, but I 
want to ask, how to adjust the inline size of primary key?




Re: Is there a way to re-set the index inline size at runtime?

2019-09-23 Thread Ken Cheng
thank you very much!

Thanks,
Ken Cheng


On Mon, Sep 23, 2019 at 8:29 PM Igor Belyakov 
wrote:

> Hi,
>
> Increasing index inline size can improve performance in cases when you're
> using variable-size columns, as described here:
> https://apacheignite-sql.readme.io/docs/create-index#section-index-inlining
>
> Also modifying inline size will require entire index rebuild, which is
> equals to index recreation. Due to this, you should use DROP/CREATE
> commands for changing index inline size.
>
> Regards,
> Igor
>
> On Sun, Sep 22, 2019 at 6:12 PM Ken Cheng  wrote:
>
>> per my understanding increase the index inline size can improve query
>> performance, so is there a way to increase the index inline size at
>> runtime?
>> my guess is that drop and re-create index will cost the whole cluster a
>> lot.
>> is that true?
>>
>> Thanks,
>> Ken Cheng
>>
>


Re: Is there a way to re-set the index inline size at runtime?

2019-09-23 Thread Igor Belyakov
Hi,

Increasing index inline size can improve performance in cases when you're
using variable-size columns, as described here:
https://apacheignite-sql.readme.io/docs/create-index#section-index-inlining

Also modifying inline size will require entire index rebuild, which is
equals to index recreation. Due to this, you should use DROP/CREATE
commands for changing index inline size.

Regards,
Igor

On Sun, Sep 22, 2019 at 6:12 PM Ken Cheng  wrote:

> per my understanding increase the index inline size can improve query
> performance, so is there a way to increase the index inline size at
> runtime?
> my guess is that drop and re-create index will cost the whole cluster a
> lot.
> is that true?
>
> Thanks,
> Ken Cheng
>


Is there a way to re-set the index inline size at runtime?

2019-09-22 Thread Ken Cheng
per my understanding increase the index inline size can improve query
performance, so is there a way to increase the index inline size at runtime?
my guess is that drop and re-create index will cost the whole cluster a lot.
is that true?

Thanks,
Ken Cheng


Re: Index inline size

2019-02-20 Thread Stanislav Lukyanov
Depends on the use case. Sometimes you want to save the memory as much as
possible, and then you would use a lower inline size.

However, in most cases you actually need a higher value because that will
greatly improve the performance.
Starting 2.7 there are warnings with a recommended size (calculated based on
your actual data) and a way to set it.
A couple of ways to change inline size are missing in the warnings though -
check https://issues.apache.org/jira/browse/IGNITE-11355.

Stan


colinc wrote
> The documentation that you referenced states that the
> IGNITE_MAX_INDEX_PAYLOAD_SIZE system property defines the default max -
> and
> that this defaults to 10.
> 
> Since it's only a maximum value, is there any reason why it can't be a bit
> higher - say 100? Or is it strongly encouraged to keep indexed fields
> shorter than this?
> 
> Regards,
> Colin.
> 
> 
> 
> --
> Sent from: http://apache-ignite-users.70518.x6.nabble.com/





--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/


Re: Index inline size

2019-02-19 Thread colinc
The documentation that you referenced states that the
IGNITE_MAX_INDEX_PAYLOAD_SIZE system property defines the default max - and
that this defaults to 10.

Since it's only a maximum value, is there any reason why it can't be a bit
higher - say 100? Or is it strongly encouraged to keep indexed fields
shorter than this?

Regards,
Colin.



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/


Re: Index inline size

2018-12-27 Thread Denis Mekhanikov
Prasad,

By default *QuerySqlField#inlineSize *is equal to -1, which means, that it
will be chosen automatically.
*CacheConfiguration#setSqlIndexMaxInlineSize *specifies the maximal
automatically calculated
inline size for a cache.
But if *QuerySqlField#inlineSize *is not -1, then it will be used
regardless of the configured maximum.
It should only be less than 2048. Otherwise 2048 will be used.

Judging by the warning message, value 10 is used for the inline size.
Did you specify it manually or was it calculated automatically?

Index inlining documentation:
https://apacheignite-sql.readme.io/docs/create-index#section-index-inlining

Denis

ср, 26 дек. 2018 г. в 18:27, Prasad Bhalerao :

> Hi,
>
> I have set sqlIndexMaxInline size in cache configuration level as follows.
>
> cacheCfg.setSqlIndexMaxInlineSize(100);
>
> But still  I am getting following warning message in log.
>
> WARN  o.a.i.i.p.q.h2.database.H2TreeIndex -  Indexed
> columns of a row cannot be fully inlined into index what may lead to
> slowdown due to additional data page reads, increase index inline size if
> needed (use INLINE_SIZE option for CREATE INDEX command,
> QuerySqlField.inlineSize for annotated classes, or QueryIndex.inlineSize
> for explicit QueryEntity configuration) [cacheName=USERACCOUNTDATA,
> tableName=USER_ACCOUNT_CACHE, idxName=USER_ACCOUNT_IDX4,
> idxCols=(SUBSCRIPTIONID, UNITID, _KEY, AFFINITYID), idxType=SECONDARY,
> curSize=10, recommendedInlineSize=83]
>
> 1) Is it necessary to set inline size using @QuerySqlField annotation?
>
> 2) How do I set inline size in case of group index in following case?
> Do I need to set inline property inside each @QuerySqlField annotation?
>
> public class Person implements Serializable {
>   /** Indexed in a group index with "salary". */
>   @QuerySqlField(orderedGroups={@QuerySqlField.Group(
> name = "age_salary_idx", order = 0, descending = true)})
>   private int age;
>
>   /** Indexed separately and in a group index with "age". */
>   @QuerySqlField(index = true, orderedGroups={@QuerySqlField.Group(
> name = "age_salary_idx", order = 3)})
>   private double salary;
> }
>
>
>
>
>
>
>
> Thanks,
> Prasad
>


Index inline size

2018-12-26 Thread Prasad Bhalerao
Hi,

I have set sqlIndexMaxInline size in cache configuration level as follows.

cacheCfg.setSqlIndexMaxInlineSize(100);

But still  I am getting following warning message in log.

WARN  o.a.i.i.p.q.h2.database.H2TreeIndex -  Indexed
columns of a row cannot be fully inlined into index what may lead to
slowdown due to additional data page reads, increase index inline size if
needed (use INLINE_SIZE option for CREATE INDEX command,
QuerySqlField.inlineSize for annotated classes, or QueryIndex.inlineSize
for explicit QueryEntity configuration) [cacheName=USERACCOUNTDATA,
tableName=USER_ACCOUNT_CACHE, idxName=USER_ACCOUNT_IDX4,
idxCols=(SUBSCRIPTIONID, UNITID, _KEY, AFFINITYID), idxType=SECONDARY,
curSize=10, recommendedInlineSize=83]

1) Is it necessary to set inline size using @QuerySqlField annotation?

2) How do I set inline size in case of group index in following case?
Do I need to set inline property inside each @QuerySqlField annotation?

public class Person implements Serializable {
  /** Indexed in a group index with "salary". */
  @QuerySqlField(orderedGroups={@QuerySqlField.Group(
name = "age_salary_idx", order = 0, descending = true)})
  private int age;

  /** Indexed separately and in a group index with "age". */
  @QuerySqlField(index = true, orderedGroups={@QuerySqlField.Group(
name = "age_salary_idx", order = 3)})
  private double salary;
}







Thanks,
Prasad