java嵌入式库磁盘键值数据库

 qinsg688_377 发布于 2023-01-19 23:01

认为我正在寻找的是一个无SQL,嵌入式磁盘,在磁盘上(即非内存中)数据库,可以从java访问(最好在我的JVM实例中运行).这不是一个真正的数据库,我很想自己动手.基本上我正在寻找"我们应该把它保存在内存中还是放在磁盘上"的数据库部分.

我们的模型已增长到几千兆字节.现在这都是在内存中完成的,这意味着我们正在推动JVM达到几千兆字节.它目前全部存储在一个平面XML文件中,使用xstream进行序列化和反序列化,并使用内置的gzip库中的Java进行压缩.当我们的模型保持在100MB以下时,这种方法运行良好,但现在它的大于它成为一个问题.

松散地说,模型可以分解为

项目

    配置组件(有向非循环图),并不是所有数据库友好的

    十几个"实验"结构的列表

    每个都包含大约十二个"运行模型"结构的列表.

      每个运行模型包含数百兆的数据.一旦编写,他们永远不会编辑.

我想做的是有一些符合guid - > run-model的地图界面的东西.这个迷你数据库将保留这些对象的平面表.在我们的实验模型中,我们将使用guid列表替换运行模型列表,并在应用程序层添加对此映射的get调用,这将把它从磁盘中拉出并进入内存.

这意味着我们可以使用XML(我非常满意)保持程序的配置,并在DBMS中保留一个大数据表,这将使我们不会消耗多GB的内存.在程序启动和退出时,我可以从存档格式加载和卸载我们模型的两个部分(XML中的配置部分和数据库格式的运行模型).

我对这一点感觉很好,并且认为我可以用一些X-Stream的XML检查策略和自定义地图实现来实现它,但是在我的脑海中有一种声音告诉我我应该找到一个库来代替.

我应该自己动手还是有一个足够小的数据库来满足这个要求?

多谢你们,

-Geoff

1 个回答
  • http://www.mapdb.org/

    另请看一下这个问题:BerkeleyDB的替代方案?

    2023-01-19 23:24 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有