4.2.1.2.1.3.5. Слияние
В фоновом режиме в отдельных секциях по времени и ключам выполняется слияние файловых фрагментов. Это делается для решения следующих задач:
Улучшение показателей кластеризации данных: из регионов записей по элементам, хранящихся в различных фрагментах, формируются более крупные регионы в одном слитом фрагменте
Сокращение числа файлов, удерживаемых открытыми
Слияние выполняется следующим образом:
Сливаются группы из 8 фрагментов поколения 0 (g0 в имени файла), взамен формируется один фрагмент поколения 1 (g1).
В группу набираются смежные в порядке последовательности записи фрагменты (по возрастанию идентификатора транзакции). Смежность определяется по границам диапазона транзакций для
каждого фрагмента (в имени файла - диапазон чисел с префиксом tx)
Для повышения эффективности при чтении исходных фрагментов в ходе слияния используется упреждающее чтение. Запись в выходной фрагмент выполняется линейно.
Операция слияния выполняется параллельно с операциями сохранения, чтения и очистки.
|
