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

Ivan Bessonov updated IGNITE-27147:
-----------------------------------
    Component/s: storage engines ai3

> Optimise compaction of multiple delta files
> -------------------------------------------
>
>                 Key: IGNITE-27147
>                 URL: https://issues.apache.org/jira/browse/IGNITE-27147
>             Project: Ignite
>          Issue Type: Improvement
>          Components: storage engines ai3
>            Reporter: Filipp Shergalis
>            Assignee: Filipp Shergalis
>            Priority: Major
>              Labels: ignite-3
>             Fix For: 3.2
>
>          Time Spent: 1h 20m
>  Remaining Estimate: 0h
>
> We process delta files from the oldest to the newest, and pages can be 
> written to main file multiple times.
> For each delta file we already have in memory sorted  arrays with page 
> indexes. We can use "two pointer technique" to skip duplicated pages in 
> linear time (n - pages in all other delta files).
> In the beginning of partition compaction create an int array containing 
> indexes for each delta file. Processing each page iterate over all other 
> delta files until we get page >= current one and skip the page if found. Next 
> page continues from the same index, so it's efficient



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to