我正在寻找一个用于 Java 的内存中关系 (SQL) 数据库(类似于 HSQLDB),我可以对其整个状态进行序列化。
wholeDatabase.serialize(outputStream);
newCopyOftheDatabase.loadFrom(inputStream);
或者数据库只使用我在初始化时给它的 byte[] :
byte[] memory = new byte[10 *1024*1024];
new InMemoryDatabase(memory);
数据库不会太大,只有几十 MB,但我无法写入文件,所以我需要在关闭 VM 之前将所有内容从机器上传输出去(并定期进行备份)。
我可以使用普通的(并且易于序列化的)Java 数据结构,如数组或映射而不是 DB,但我希望能够使用 SQL。