Java用のインメモリリレーショナル(SQL)データベース(HSQLDBのようなもの)を探しています。その状態全体をシリアル化できます。
wholeDatabase.serialize(outputStream);
newCopyOftheDatabase.loadFrom(inputStream);
または、DBは初期化時に指定したbyte[]のみを使用する可能性があります。
byte[] memory = new byte[10 *1024*1024];
new InMemoryDatabase(memory);
データベースはそれほど大きくなく、数十MBもありませんが、ファイルを書き込めないため、VMをシャットダウンする前に(そして定期的にバックアップのために)マシンからすべてをストリーミングする必要があります。
DBの代わりに、配列やマップなどのプレーンな(そして簡単にシリアル化できる)Javaデータ構造を使用することもできますが、SQLを使用できるようにしたいと考えています。