[
https://issues.apache.org/jira/browse/IGNITE-17231?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Evgeny Stanilovsky updated IGNITE-17231:
----------------------------------------
Fix Version/s: 3.2
(was: 3.1)
> Optimization of DeltaFilePageStore: improve mapping of pageIdx to file offset
> -----------------------------------------------------------------------------
>
> Key: IGNITE-17231
> URL: https://issues.apache.org/jira/browse/IGNITE-17231
> Project: Ignite
> Issue Type: Improvement
> Reporter: Kirill Tkalenko
> Priority: Major
> Labels: ignite-3
> Fix For: 3.2
>
>
> For ease of implementation, a sorted list of *pageIdx* has been added to the
> *DeltaFilePageStore*, thereby allowing a binary search to find a *pageId ->
> pageIdx*.
> Perhaps this is not quite optimal, and it can be optimized.
> It is important that we need to find a balance between memory usage and
> *pageId* lookup speed, since the *DeltaFilePageStore* class can be many (very
> many) due to the fact that it depends on the checkpoint, compacter, number of
> partitions and number of groups.
> Before implementation, we need to study the options in more depth and perhaps
> try a few of them.
> What can we consider:
> * roaring map - this needs to be carefully studied;
> * list of containers (idea) - there are 3 types of container, the first is a
> bitmask, the second is value intervals (provided that the values are greater
> than 64 (two integers)), the third is a sorted list (or hash map); then by
> binary search we find the container (by the first *pageIdx* in this
> container) and then we query the container.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)