Общая модель использования фильтров Блума выглядит следующим образом:
- Запросите фильтр, чтобы определить, может ли ответ быть да.
- Если Блум фильтр говорит «нет», ответ определенно «нет».
- Если фильтр Блума говорит «да», ответ может быть положительным, поэтому запросите более точную структуру данных, чтобы получить окончательное определение.
Фильтры Блума действительно светятся, когда шаг (3) имеет форму «запросить какой-нибудь сервер где-нибудь для поиска в гигантской базе данных c, чтобы выяснить, есть ли у вас вопрос». В этом случае уменьшение количества раз, когда серверу необходимо выполнить эхо-тестирование для принятия решения, может привести к значительному увеличению производительности клиента и снижению нагрузки на серверы.
С другой стороны, если вы локально храните небольшой набор данных на машине, тогда фильтр Блума вряд ли будет делать все это слишком много, потому что запрос этого набора данных напрямую будет достаточно быстрым для всех ваших потребностей.