[ 
https://issues.apache.org/jira/browse/IGNITE-17231?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vyacheslav Koptilin updated IGNITE-17231:
-----------------------------------------
    Fix Version/s: 3.0.0-beta2
                       (was: 3.0.0-beta1)

> 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.0.0-beta2
>
>
> 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)

Reply via email to