我计划编写一个基于图形数据库的应用程序,然后遇到了Rexste,Neo4j和Orientdb。但是,我有点困惑。
我认为Neo4j和Orientdb是图形数据库,而Rexster是图形服务器端框架,但不确定它们的差异。有谁可以向我解释一下?什么是Rexster?
另外,如果我想在Heroku上部署,我应该使用哪一个? Orientdb看起来更加花哨和高级,但不像Neo4j那样受欢迎,并且在Heroku上不受支持。有原因吗?
答案 0 :(得分:0)
Regster graph server只是图形数据库的一个包装器,用于通过基于JSON的REST接口公开数据库
Neo4j和Orientdb是图形数据库。 我不熟悉Heroku,但它说它支持Java。 Rexster有一个java客户端,所以如果你可以通过Rexster公开你的数据库,你可以将它与Java一起使用。
同样,我不熟悉Heroku,但它似乎是PAAS。因此它只运行平台支持的软件(即Java,Node.js,Scala,Clojure和Python)。但是,由于它基于Ubuntu Linux,您可能会找到一种在其上运行Linux软件的方法,并且Linux上支持这些图形dbs。
还要考虑Titan graph db - 它可能不像你提到的其他人那样受欢迎,但似乎很好。
答案 1 :(得分:0)
如前所述,Regster只是包装器,不会取代您的图形数据库需求。
它位于图形数据库的顶部,并显示其他功能,例如:
关于另外两个选择,我在Neo4j和OrientDB之间添加了here个here两个比较图,详细说明了每个选项的功能。
在非常短中,OrientDB支持完全复制,而Neo4j似乎不是原生的,但Neo4j将被更广泛采用,并且有更好的文档。
Heroku itself通过GrapheneDB plugin将Neo4j作为服务公开,如果您想在Heroku上使用Graph数据库,那么它将是您事实上的选择。
当OrientDB不在Heroku上时,可能的原因是因为没有人提供OrientDB作为服务