Что такое Cache Penetration (запросы по несуществующим ключам) и как фильтр Блума помогает защитить базу данных?

Cache penetration — повторные промахи кеша для данных, которых нет и в БД. Bloom filter позволяет быстро отклонить заведомо отсутствующие ключи, но допускает ложноположительные ответы.

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

Что ответить на собеседовании

Cache penetration — повторные промахи кеша для данных, которых нет и в БД. Bloom filter позволяет быстро отклонить заведомо отсутствующие ключи, но допускает ложноположительные ответы.

Подробный разбор

Ответ с пояснениями

Cache penetration — повторные промахи кеша для данных, которых нет и в БД. Bloom filter позволяет быстро отклонить заведомо отсутствующие ключи, но допускает ложноположительные ответы.

В фильтр заносят существующие ключи. Ответ «нет» означает отсутствие в корректно синхронизированном наборе, ответ «возможно есть» требует обычной проверки кеша и БД. При создании записей обновление фильтра должно предотвращать ошибочный отказ новым ключам. Стандартный фильтр не поддерживает безопасное удаление произвольного элемента. Дополнительные меры — короткое отрицательное кеширование, валидация ключей и rate limit. Фильтр не заменяет авторизацию.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее