Мне нужно сохранить большой набор хэшей, который может содержать до 200 миллионов 40-битных значений. Сохранение его как 200 миллионов 64-битного значения было бы приемлемым (несмотря на потерю 200 миллионов * 16 бит).
Требования:
крошечный объем памяти (дисковое пространство не проблема, память)
быстрые методы
contains(long l)
иadd(long l)
(намного быстрее, чем SQL)встроенный
бесплатно и без неприятных лицензий (без Berkeley DB). ЛГПЛ в порядке.
нет ложноположительных и ложноотрицательных результатов, поэтому такие вещи, как фильтры Блума на диске, не то, что мне нужно
SQL — это не то, что мне нужно.
Потому что я действительно думаю, что мне больше нужно что-то быстрое вроде этого (обратите внимание, что решение намного быстрее, чем решение SQL):
Есть ли у Google такой Java API?
Будет ли работать быстрая дисковая реализация пары ключ/значение, где я буду использовать только «ключ»?
Или что-то другое?
Я бы предпочел не изобретать велосипед.