我最近问了一个关于Neo4j的问题,我有工作,似乎很好。它是可嵌入的,它是用Java编写的,没有(太)许多依赖。
然而,它是一个图形数据库,我不知道这是一个好主意或不使用它作为一个简单的键/值存储。
基本上我有一个很大的地图,在Java中看起来像这样:
Map>
主图中有几千万条记录,每个条目都包含属性/值的映射。 “内部”地图相对较小:约20个条目。
我需要一种方法来保持该地图从运行的webapp到另一个。
使用Neo4j,我做的是为每个ID(整数)创建一个节点,然后为内部映射中的每个条目放置一个属性。从我早期的测试看来,它似乎工作,但我不知道这是一个很好的方法继续。
你可以使用哪个嵌入式数据库,用Java编写?
要求是:
>用Java编写
> embeddable(所以没有什么太大)
>不是SQL(*)
>开源
>易于备份(我需要能够进行“实时”备份,而服务器正在运行)
我的术语可能有点错,所以请随时帮我/纠正我。对于我的“地图图”,最适合的是一个键/值对DB对吗?
键/值对DB,文档DB,大表格,图形数据块等之间的区别我有点迷失了。
我也想,如果使用像Neo4J这样的图形数据库是一个好主意,我的需要(我认为性能真的不会是一个问题,看到相对较少的条目我会有)。
当然,我可以简单地坚持自己的地图,但我真的不想在这里重新发明。我想重新使用一个经过测试的DB …
(*)我不想要SQL的原因是我会一直有这个“地图”,内部地图将不断发展,所以我不想要一些太结构化的东西。