[ 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)