...
- 若两个任务一个是空间内合并,另一个是跨空间合并,且系统预设的合并优先级不是balance
- 若系统预设的合并执行优先级是inner_cross,则空间内合并的任务的优先级较高
- 若系统预设的合并执行优先级是cross_inner,则跨空间合并的任务的优先级较高
- 若两个任务都是空间内合并
- 若两个任务一个是顺序空间内合并,另一个是乱序空间内合并,则顺序空间内合并的任务的优先级较高
顺序空间内合并 > 乱序空间内合并
若两个任务的平均每个待合并文件的空间内合并次数不相等,则平均每个文件空间内合并次数低的任务的优先级较高(因为这样可以减少写放大)优先合并【低层文件(空间内合并次数低的)】:若两个任务的平均每个待合并文件的空间内合并次数不相等,则平均每个文件空间内合并次数低的任务的优先级较高(因为这样可以减少写放大)
若两个任务的选中待合并文件的数量不同,则文件数量多的任务的优先级较高优先合并【文件数量多的】:可以减少大量文件若两个任务的待合并文件的总大小不同,则待合并文件总大小较小的任务的优先级较高(因为小文件的合并速度较快)
优先合并【待合并文件总大小小的】:(因为小文件的合并速度较快)
若两个任务的待合并文件的最大version不同,则较大version的任务的优先级高(因为我们想要优先合并最近落盘的文件)优先合并【新文件】:若两个任务的待合并文件的最大version不同,则较大version的任务的优先级高(因为我们想要优先合并最近落盘的文件)
- 若两个任务一个是顺序空间内合并,另一个是乱序空间内合并,则顺序空间内合并的任务的优先级较高
- 若两个任务都是跨空间合并
若两个任务的待合并的顺序文件的数量不一样,则顺序文件数量较少的任务的优先级高(因为在合并过程中占用更少的内存)优先合并【顺序文件少的】:若两个任务的待合并的顺序文件的数量不一样,则顺序文件数量较少的任务的优先级高(因为在合并过程中占用更少的内存)
乱序文件数量较多的任务的优先级较高(因为会减少更多的乱序文件)
- 若两个任务一个是空间内合并,另一个是跨空间合并,且系统预设的合并优先级不是balance
合并任务调度器CompactionSchedule
...