Перечисленным вами требованиям вполне удовлетворяет простая запись в файлы. Но вы этот очевидный вариант не рассматриваете, значит, он вам не подходит. По каким причинам не подходит — вы умалчиваете, но хотите получить совет. Чтож, это открывает простор для фантазий. Я вам советую
Java-Chronicle или
MapDB — самые быстродействующие решения.