java嵌入数据库w/能力来储存为一个文件
-
18-09-2019 - |
题
我需要建立一个储存文件格式用于一些简单的数据以表格格式,是试图使用HDF5但只有约定,由于一些问题,我想要重新审查使用嵌入式数据库,看看他们是足够快的我的应用程序。
是有一个有信誉的嵌入式Java数据库,以储存数据在一个文件?唯一一个我所知道的是源码(Java绑定)。我试图H2和HSQLDB但出的框他们似乎创建的几个文件,并强烈希望我有一个数据库,在一个文件。
编辑: 合理的快速性能是重要的。象存储;对业绩的关切,我只需要存储整数和Blob。(+一些串但没有性能至关重要的)
编辑2: 储存数据的效率是重要的,对于较大的数据集,因此XML。
解决方案 10
我认为现在我只是要继续使用HDF5于持久性数据储存、与H2或一些其他数据库,用于存中的索引。我不能得到源码使用Blob Java驱动程序,我有,我不能埋火鸟建立和运行,我不相信H2与PAGE_STORE。
其他提示
亚硝酸数据库 http://www.dizitart.org/nitrite-database.html
非sql目(NO2。k.亚硝酸盐)数据库是一个开放源非sql 嵌入式文件存储Java编写的与MongoDB像API。它的 支持存和单一文件基础的持久性存储。
如果你只需要阅读访问,然后H2是能够 读取的数据库文件从一个压缩文件.
同样,如果你不需要的持久性有可能有一个存储器版本的H2。
如果你需要读写访问和持久性,那么你可以走运用标准SQL型数据库,因为这些几乎所有保持均匀的索引和数据文件分开。
H2仅使用一个文件,如果使用最新的H2建立与PAGE_STORE的选择。这是一个新的功能,所以它不可能稳固。
有一次我使用一个目数据库中保存的数据文件。它有一个Java和一个.网接口。你可能想要检查它。这就是所谓 创建db4o.
编年史地图 是一个嵌入的纯Java数据库。
它将数据存储在一个文件,i。e.
ChronicleMap<Integer, String> map = ChronicleMap .of(Integer.class, String.class) .averageValue("my-value") .entries(10_000) .createPersistedTo(databaseFile);
记载地图上是成熟的(没有严重的储存的错误报道几个月的现在,而这是在主动使用)。
主要缺点在于使用的情况是,记载地图上支持只有一个简单的关键价值的模型,然而更为复杂的解决办法可以是建立在它的上面。
免责声明:我是开发人员的编年史地图。
如果你是在寻找一个小型和快速数据库也许船舶的另一个程序,我会检查 Apache德比 我不知道你如何定义的嵌入数据库,但我用这在一些项目作为一个调试的数据库,可以检查与源,并可在每一个开发机瞬时的。
你可能想看看 jdbm -我们用它在几个项目,这是相当快。它不会使用2的文件(一个数据库文件和记录文件)如果您使用酸类型应用程序,但你可以直接向直接访问数据库(没有登录文件),如果你不需要固体酸。
JDBM会很容易地支持整数和blob(任何你想要的),而是以相当快的速度进行。这不是真的设计并发,所以你必须要管理锁定自己如果你有多线程,但是如果你是在寻找一个简单的、固的嵌入式数据库,这是一个好的选择。
由于你所提到的源码,我假定你不介意的一个原db(只要好java绑定)。 火鸟 工程以及与java,并且单一的文件存储的默认。
两H2和HSQLDB将是优秀的选择,如果你没有单一文件的要求。