[jira] [Created] (IGNITE-9526) Allow explicitly setting index inline size for Java objects

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Created] (IGNITE-9526) Allow explicitly setting index inline size for Java objects

Anton Vinogradov (Jira)
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)