Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Kafka: log, segment

Как Kafka хранит данные физически?

Вопрос проверяет понимание того, как Kafka хранит сообщения на диске и за счет чего достигается высокая производительность.

Короткий ответ

Kafka хранит данные на диске в виде последовательных логов. Каждый partition представлен набором файлов сегментов. Сообщения дописываются в конец файлов, что делает запись очень быстрой. Старые данные удаляются или архивируются по политикам хранения. Kafka не изменяет сообщения после записи.

Длинный ответ

Определение

Физическое хранение данных в Kafka — это организация сообщений в виде append-only логов на диске.

Структура хранения

Каждый partition хранится отдельно и состоит из:

  1. Log segment файлов с данными

  2. Index файлов для быстрого поиска

  3. Time index файлов для поиска по времени

Log segment

Log segment — это файл, содержащий последовательные сообщения:

  • сообщения только добавляются в конец

  • файлы имеют ограниченный размер

  • при достижении лимита создается новый сегмент

Почему это быстро

Kafka достигает высокой производительности за счет:

  1. Последовательной записи на диск

  2. Минимального количества random access

  3. Использования page cache ОС

  4. Отсутствия обновлений и удалений внутри файлов

Политики хранения

Kafka может:

  • хранить данные ограниченное время

  • хранить данные до достижения заданного размера

  • комбинировать оба подхода

Удаление происходит целыми segment файлами, а не отдельными сообщениями.

Краткий вывод

Kafka хранит данные как неизменяемые последовательные логи, что позволяет эффективно работать с диском и обеспечивать высокую пропускную способность.

Уровень

  • Рейтинг:

    4

  • Сложность:

    7

Навыки

  • Kafka

    Kafka

Ключевые слова

#log

#segment

Подпишись на Java Developer в телеграм