Я ищу структуру данных набора, оптимизированную для очень низкой вероятности того, что элемент является частью набора.
Вариант использования — пожарный шланг соответствия Gnip/Twitter, где мы получаем около 1000 событий в секунду (это удаления из всего Twitter). У нас есть таблица, скажем, из 10 миллионов сохраненных твитов (каждый год эта сумма увеличивается), и если элемент появляется в списке пожарных шлангов, я должен его удалить. Я предполагаю, что совпадение будет происходить каждые 100 000 секунд (чтобы вытащить число из воздуха).
Я думал о фильтрах Блума, возможно, о нескольких цепочках, но, учитывая, что вероятность попадания очень мала, мне всегда нужно будет проходить всю цепочку, и в конечном итоге все станет линейным.
Есть ли для этого хорошая сублинейная структура данных?