Зачем в кафке файл .index и .timeindex, почему бы сразу не искать в .log файле?

Изучаю кафку и материале говориться, что кроме файла .log где есть offset, position, timestamp, message есть файлы .index с мапингом offset > position и timeindex с мапингом offset > timestamp. И если я хочу начать читать с определенного офсета, то сначала я буду искать позицию в файле .index

Допустим я хочу прочитать начиная с offset 123, сначала я пойду и пройдусь по всем записям в файле index, пока не найду offset 123, потом возьму зампаленый position и найду его в .log? Это же x2 действий. Чем это лучше чем сразу искать в файле .log? Тоже самое и с timeindex.
  • Вопрос задан
  • 143 просмотра
Пригласить эксперта
Ответы на вопрос 1
mayton2019
@mayton2019
Bigdata Engineer
В Kafka log файлы обычно большого размера. И поиск в них - последовательный. В силу специфики. Месседжи - имеют произвольный размер. А индексный файл - маленький. И записи - по 64 бита. Можно быстро найти нужную. Тем более там есть ордеринг.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы