Stanislav Lukyanov created IGNITE-9526:
------------------------------------------
Summary: Allow explicitly setting index inline size for Java
objects
Key: IGNITE-9526
URL: https://issues.apache.org/jira/browse/IGNITE-9526
Project: Ignite
Issue Type: Bug
Components: sql
Reporter: Stanislav Lukyanov
Assignee: Stanislav Lukyanov
Currently Ignite never inlines indexed objects when they are POJOs. It makes
sense, as there is currently no way of inlining a POJO other than by inlining
the binary object, and the headers of the binary objects (i.e. their first 24
bytes) are usually the same for the same indexed field.
However, this approach has downsides.
Silently ignoring the specified inline size might be surprising for a user
willing to trade (a lot of) memory for speed and setting a large inline size
for that purpose.
On the other hand, inlining headers and just several first bytes of POJOs in
binary format has proven to be beneficial. It is especially beneficial in case
page replacements are happening, as this greatly reduces the number of data
pages required to traverse an index tree.
The proposal is to allow POJO inlining in case the inline size is given for the
specific POJO field. So, unlike strings and byte arrays, POJOs will not use the
max inline size by default - as in most cases inlining POJOs isn't going to
help.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)