java用哪个数据库在内存中存储数据? [关闭]
Posted
技术标签:
【中文标题】java用哪个数据库在内存中存储数据? [关闭]【英文标题】:which database for java to store data in memory? [closed] 【发布时间】:2013-06-15 01:40:36 【问题描述】:我正在寻找一个可以让我将大部分对象存储在内存中的数据库。基本上我想将除了一些很少使用的数据(更改历史等)之外的所有内容都存储在内存中。
我正在寻找:
Java 的简单 API,最好是非 ORM ACID 不是必需的(嗯,D 是) 对查询的一些支持,但没有什么花哨的这个想法是对内存中的模型进行操作,将任何改变模型的“命令”存储在数据库中,定期将模型同步到数据库(就像 prevayler 一样)
哪个数据库符合我的需求? (如果没有更简单的方法,我将使用 postgres 或 H2)。
【问题讨论】:
hsqldb? hsqldb 是一个常规的 sql 数据库,不会比 H2/pgsql 提供更多/更简单 Sqlite?你试过了吗? 这是另一个 SQL 数据库 - 我需要使用一些 ORM 或编写大量 SQL 查询。我不想那样。我想说:这里是数据库,这些是我的对象,请确保它们已存储,如果我重新启动应用程序,我可以在将来再次加载它们。是的,我使用了 sqlite、hsqldb、oracle、postgres 等。我更喜欢不同的东西mongoDB
? cassandra
?
【参考方案1】:
您需要一个对象数据库:http://en.wikipedia.org/wiki/Comparison_of_object_database_management_systems
【讨论】:
【参考方案2】:您应该使用Terracotta。它通常用于缓存,但它正是您所要求的,除了它的“查询”能力是稀疏的。
更新: 之前的链接是他们的“企业”版,但他们有适合您需求的开源项目Ehcache,他们的企业产品是基于此的。
【讨论】:
它不适用于深层对象层次结构。看起来不太可行,但我会考虑一下 我不确定您在寻找什么,但其他“替代品”可以是 Neo4j,尽管它可能需要太多时间投资和范式改变。以上是关于java用哪个数据库在内存中存储数据? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章