我正在考虑使用嵌入式db4o数据库来存储模拟工具的计算结果。模拟结果可能非常大(单次运行最多可达一些GB,因此数据库的实际大小可能在10 GB到100 GB之间)。
据我所知,db4o将整个数据库存储在一个文件中。虽然我已经知道db4o支持数据库up to 254 GB,但我仍然担心我可能会遇到不喜欢大文件的文件系统问题(我正在处理的应用程序将在各种架构上运行,所以我无法真正预测哪些文件系统将会到位......)。那么,是否有任何最佳实践可以帮助我避免使用大型文件,同时仍能保留嵌入式数据库的优势?
编辑:我刚刚发现this在db4o中处理(实际上)大量数据。但是,在没有强调文件系统的情况下,它没有详细介绍如何实现这一点......
答案 0 :(得分:1)
在不创建过大文件的情况下继续处理大量数据的方法是使用多个容器。您应该将数据模型切割为多个容器(也称为文件)。
每个文件都包含模型的某些部分。然后通过查询好容器,你应该能够检索你的对象;连接(如果需要)必须用手完成。
如果你的模型中有这么少的类,那么削减它是没有意义的,那么我不确定db4o是你需要的方式。也许一个包含非常小的序列化的简单文件应该最符合您的需求。