You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Kirill Tkalenko (Jira)" <ji...@apache.org> on 2022/10/07 17:46:00 UTC
[jira] [Created] (IGNITE-17855) Implement inline size calculation for B+tree
Kirill Tkalenko created IGNITE-17855:
----------------------------------------
Summary: Implement inline size calculation for B+tree
Key: IGNITE-17855
URL: https://issues.apache.org/jira/browse/IGNITE-17855
Project: Ignite
Issue Type: Task
Reporter: Kirill Tkalenko
Assignee: Kirill Tkalenko
Fix For: 3.0.0-alpha6
It is necessary to implement an efficient inline size calculation for indexes.
Since the indexes will be stored in the *BplusTree*, we need to take into account that they will be stored in the *BplusInnerIo* and *BplusLeafIo*, so we need to calculate the effective (in the general case) size of item for storing indexes.
To calculate the size of an element, we need to take into account:
* Minimum number of items in a *BplusInnerIo* must be 2;
* Size of the entire tuple (index columns) must not exceed 2 KB;
** Class size is 2 bytes to cover most cases;
** If the user has not set a limit for variable length columns, then consider it 10 bytes;
* If there are columns of variable length and we still have space in the *BplusInnerIo* and *BplusLeafIo*, then we can increase the size of the item without compromising the leaf (i.e. do not decrease the number of items in it).
--
This message was sent by Atlassian Jira
(v8.20.10#820010)