4

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

我应该使用 JRuby 还是 Ruby?

将 neo4j.rb 与 JRuby 和 Ruby 一起使用时有什么区别(任何优点/缺点)?

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

4

2 回答 2

7

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

gem 尚未(尽管可能应该)与其他解释器一起测试。

gem 支持serverembedded模式。

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

MRI 和 JRuby 都支持服务器。Embedded 仅在 JRuby 下受支持。

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

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

在服务器模式下,您可以使用 ActiveNode 和 ActiveRel。实际上,我敢打赌你也可以使用嵌入式的 ActiveNode 和 ActiveRel,虽然我自己几乎没有使用嵌入式模式,所以我不能肯定。

于 2015-03-06T12:32:30.350 回答
-3

Neo4j.rb 最适合使用 ruby​​ for rails 你应该使用它

于 2015-03-06T11:58:36.160 回答