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)

Reply via email to