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

Raj*_*oit 4 ruby ruby-on-rails neo4j neo4j.rb

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

我应该使用JRuby还是Ruby?

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

一些例子告诉我们使用JRuby,我也可以用Ruby执行Rails应用程序.

Bri*_*ood 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,虽然我自己也很难使用嵌入式模式,所以我不能肯定地说.