我使用Neo4j.rb将Neo4j Graph数据库与Rails集成。
我应该使用JRuby还是Ruby?
将neo4j.rb与JRuby和Ruby一起使用时有什么区别(任何利弊)?
有些例子告诉我们使用JRuby,我也能用Ruby执行Rails应用程序。
答案 0 :(得分:7)
我是Neo4j.rb的维护者之一,您可以将它与JRuby以及官方翻译(MRI / KRI / whetever)一起使用。我将从这里称之为MRI。那里有很多过时的信息,因为在版本2.x和之前的gem DID需要JRuby。从3.0版开始,不再需要它。
宝石尚未(尽管可能应该)与其他口译员一起测试过。
gem支持server
和embedded
模式。
MRI和JRuby都支持服务器。嵌入式仅受JRuby支持。
嵌入式模式的优点是可以通过Neo4j Java API直接访问数据库,这样可以提高速度,但速度更快。一个缺点是你的ruby进程现在是你的服务器进程,所以如果你想部署/进行维护,它会变得更加棘手。
服务器模式的优点是可以很好地分离关注点。通过密码查询进行连接相对简单。
使用服务器模式,您可以使用ActiveNode和ActiveRel。实际上,我敢打赌你也可以使用嵌入式的ActiveNode和ActiveRel,虽然我自己也很难使用嵌入式模式,所以我不能肯定地说。
答案 1 :(得分:-3)
Neo4j.rb最适合搭配ruby用于你应该使用它的轨道