我应该使用JRuby或Ruby for Rails与Neo4j.rb?

时间:2015-03-06 11:48:59

标签: ruby-on-rails ruby neo4j neo4j.rb

我使用Neo4j.rb将Neo4j Graph数据库与Rails集成。

我应该使用JRuby还是Ruby?

将neo4j.rb与JRuby和Ruby一起使用时有什么区别(任何利弊)?

有些例子告诉我们使用JRuby,我也能用Ruby执行Rails应用程序。

2 个答案:

答案 0 :(得分:7)

我是Neo4j.rb的维护者之一,您可以将它与JRuby以及官方翻译(MRI / KRI / whetever)一起使用。我将从这里称之为MRI。那里有很多过时的信息,因为在版本2.x和之前的gem DID需要JRuby。从3.0版开始,不再需要它。

宝石尚未(尽管可能应该)与其他口译员一起测试过。

gem支持serverembedded模式。

  • 服务器:使用REST API连接到外部Neo4j数据库实例
  • 嵌入式:在Ruby进程中运行Neo4j

MRI和JRuby都支持服务器。嵌入式仅受JRuby支持。

嵌入式模式的优点是可以通过Neo4j Java API直接访问数据库,这样可以提高速度,但速度更快。一个缺点是你的ruby进程现在是你的服务器进程,所以如果你想部署/进行维护,它会变得更加棘手。

服务器模式的优点是可以很好地分离关注点。通过密码查询进行连接相对简单。

使用服务器模式,您可以使用ActiveNode和ActiveRel。实际上,我敢打赌你也可以使用嵌入式的ActiveNode和ActiveRel,虽然我自己也很难使用嵌入式模式,所以我不能肯定地说。

答案 1 :(得分:-3)

Neo4j.rb最适合搭配ruby用于你应该使用它的轨道