Быстрая постоянная очередь на основе файлов для Java

Я разрабатываю решение для кеширования, которое требует хранения огромного количества элементов (миллиардов), которые не собираются вставлять в кучу. Поэтому я ищу очередь, которая может сохранять содержимое в файловой системе. Общие требования:

  • Чтение с головы, запись в хвост, отсутствие итераторов, поиск, произвольный доступ или модификации.
  • Может содержать миллиарды элементов
  • Каждый элемент представляет собой небольшое POJO, но сериализация не является проблемой, поэтому байт-массивы в порядке.
  • Сильная консистенция не требуется, но желательна. Содержимое очереди может быть потеряно после перезапуска приложения, но лучше, если это не так.
  • Это должна быть библиотека или код, который я могу связать с моим проектом, а не инструмент или продукт, который запускается отдельно.
  • Хорошая производительность для требований выше.

Будет очень благодарен за любое предложение.