Ced*_*tin 21 java database web-applications embedded-database nosql
我最近问过一个关于Neo4j的问题,我开始工作,看起来不错.它是可嵌入的,它是用Java编写的,并没有(太多)依赖.
然而,这是一个图形数据库,我不知道将它用作简单的键/值存储是否是一个好主意.
基本上我有一张大地图,在Java中看起来像这样:
Map<Integer,Map<String,String>>
Run Code Online (Sandbox Code Playgroud)
我在主地图中有几千万个条目,每个条目都包含一个属性/值的映射."内部"地图相对较小:约20个条目.
我需要一种方法来保持从运行webapp到另一个的映射.
使用Neo4j,我所做的是为每个ID(整数)创建一个节点,然后为内部映射中的每个条目放置一个属性.从我早期的测试看起来似乎有效,但我不确定这是一个很好的方法.
用Java编写的哪个可嵌入数据库会用到吗?
要求是:
用Java编写
可嵌入(所以没什么太大)
不是 SQL(*)
开源
易于备份(我需要能够在服务器运行时进行"实时"备份)
我的术语也可能有点不对,所以请随时帮助我/纠正我.对于我的"地图地图",最合适的是键/值对DB吗?
由于键/值对DB,文档DB,大表,图形DB等之间的差异,我有点迷失.
我也喜欢使用像Neo4J这样的图形数据库来满足我的需求(我认为性能确实不会是一个问题,因为我会看到相对少量的条目).
当然我可以自己坚持我的地图地图,但我真的不想在这里重新发明任何轮子.我想重用一个久经考验的DB ......
(*)我不想要SQL的原因是我总是会有这个"地图图",内部地图会不断发展,所以我不想要太结构化的东西.
And*_*ejs 13
对于您的用例,我建议使用MapDB(http://www.mapdb.org)
它符合您的要求:
并具有其他很好的功能,如事务,并发和性能.
Chronicle-Map 在这个领域是一个新的好球员.
Map实现ConcurrentHashMap)你可以看看berkeley DB
http://docs.oracle.com/cd/E17277_02/html/GettingStartedGuide/index.html
处理大量数据及其关键/价值非常有效.我不能真正讲述它,因为我自己发现它,但如果你有时间去研究它...
| 归档时间: |
|
| 查看次数: |
26877 次 |
| 最近记录: |