Tag: 内存数据库

使用内存数据库存储数百万个临时值的效率如何?

我的应用程序目前存储数百万个Double元素进行计算。 这些值在用于计算结束时运行的特定算法之前只是临时值。 完成此计算后,可以丢弃数百万个值。 如果您需要更多细节,完整的故事就在这里 。 提出的解决方案之一是使用内存数据库。 因此,如果我使用此解决方案,我将使用此数据库将我的值存储在表中以替换我当前的Map<String, List> ,如: create table CALCULATION_RESULTS_XXX ( deal_id varchar2, values number ); (每个计算一个表, XXX是计算ID) 所以在计算过程中,我会做以下事情: 计算开始时,我创建CALCULATION_RESULTS_XXX表。 每次我需要添加一个值时,我都会在此表中插入一条记录。 在计算结束时,我使用表格内容作为我的算法。 最后,我放弃了这张桌子。 正如在其他主题中所解释的那样,目前,我的计算可能会在内存中存储数百Mb的数据,因为30 * 1,000,000的Double列表需要大约240Mb。 现在问题: 如果我使用内存数据库,我的内存消耗是否会降低? 关于数据库使用(或表创建),数据插入等,我需要注意哪些具体要点? 我想我会选择H2数据库 。 您认为这是满足我需求的最佳选择吗?

内存数据库简单可靠,支持JPA的快速Java集成测试

如果我使用内存数据库而不是PostgreSQL,我的集成测试会运行得更快。 我使用JPA(Hibernate),我需要一个内存数据库,可以很容易地切换到使用JPA,易于设置和可靠。 它需要支持JPA和Hibernate(或者如果你愿意的话,反之亦然),因为我不想采用我的数据访问代码进行测试。 根据上述要求,哪个数据库是最佳选择?