2012-02-07 64 views
7

在处理几千个节点和几千个关系时应该使用哪个图形数据库?这些大数字是否适用于任何数据库?哪一个图形数据库在读取操作上是最快的(假设所有数据在开始时加载一次)。 我看了一下neo4j及其可视化工具。我可以在我的应用程序中使用这种可视化工具吗?哪个图形数据库

回答

12

您需要针对图形数据库询问和回答的问题与任何其他数据库相似。多少数据?在内存中还是持久?你将如何与它接口?嵌入式还是服务器进程?分布式或本地化?授权?

一对夫妇一千节点和关系的是小的图形数据库和几乎所有图形数据库解决方案,将工作。对于大多数人来说Neo4j是一个不错的选择,但有一些注意事项。首先,许多情况下Neo4j的许可证可能会有问题。其次,可视化器是Neo4j服务器进程的一部分 - 这意味着你将有另一个服务器进程运行。如果您关心许可证,您可能需要检查OrientDB,该许可证属于Apache许可证,因此非常灵活。

从它的声音,你有一个相当小的系统,可能能够通过使用TinkerGraph,Marko Rodriguez的内存图形数据库和Tinkerpop黑客。它可以选择将数据保存到文件中,如果需要的话,它非常轻便,并且像Neo4j和OrientDB一样支持Tinkerpop堆栈中的所有图形工具,包括Jung Ouplemntation,这可以为您提供所需的可视化效果。

+1

伙计们,我们正在寻找到更灵活的启动牌,联系我(我是Neo4j的团队的一部分),如果你需要得到持续的Neo4j的。此外,Tinkerpop也包含在内,并与Neo4j兼容,并且Neo4j服务器组件中的可视化器只是一个默认的基于Arbor.js的可视化,它针对REST API运行,并且由浏览器线程(不与服务器进行处理)驱动。对于小图,我认为像Tinkergraph这样的内存模型是完全没问题的。 – 2012-02-08 11:24:57

+0

@Pridkett关于Neo4j的许可:我看到Neo4j带有GPL和AGPL许可证。这会带来Apache许可证的问题? ...我会看看TinkerGraph ..数据量正如我说的几千个节点,没有很多属性和几千个关系。它将是一个带有Web界面前端的本地化服务器进程。我不知道它是内存还是持久。优缺点都有什么?分贝的大小应该确定这一点? – user579674 2012-02-11 13:47:15

+0

@PeterNeubauer我需要一些帮助来决定neo4j是否可以按照我的想法来做。我可以私下与你联系吗?我的问题基本上与如何开始在网页中使用neo4j作为后端数据库相关。 – user579674 2012-02-18 12:50:55