Я ищу реляционную (SQL) базу данных в памяти для Java (что-то вроде HSQLDB), все состояние которой я могу сериализовать.
wholeDatabase.serialize(outputStream);
newCopyOftheDatabase.loadFrom(inputStream);
Или, возможно, БД использует только байт [], который я даю при инициализации:
byte[] memory = new byte[10 *1024*1024];
new InMemoryDatabase(memory);
База данных не будет слишком большой, всего несколько десятков МБ, но я не могу записывать файлы, поэтому мне нужно вывести все данные с машины перед тем, как выключить ВМ (и периодически для резервного копирования).
Я мог бы использовать простые (и легко сериализуемые) структуры данных Java, такие как массивы или карты, вместо БД, но я хочу иметь возможность использовать SQL.