【发布时间】:2011-08-19 06:31:17
【问题描述】:
在 Postgresql 上运行的 Rails 3 应用程序需要切换到图形数据库才能成长。它们有很多,它们都提供不同类型的 API,主要是 REST。
NeoTechnologies 的首席执行官 talks 和 Emil Eifrem 对 Neo4j 可以完成的工作非常鼓舞。我必须承认,我玩过它,这个东西绝对是我们需要的,但是有几个障碍。
- REST API 不是事务性的。
- Rails 3 应用在 ruby 1.9.2 上运行,而不是在 jRuby 1.5.3 或 1.6 上运行以实现原生 API。
一些数据库也由 Java 驱动并提供 REST API,因此使用它们不会改变任何事情。由于许可证或成本或背后缺乏团队,我们无法选择其他人。
我认为我遗漏了一些东西,因此如果您能提供任何提示、见解或建议,我们将不胜感激,什么是我们的选择,什么对我们有好处。谢谢。
【问题讨论】:
-
当然。使用 REST API,您不能一次回滚一组操作。例如,您想删除 3 个节点,您执行第一个和第二个请求,但第三个请求以某种方式失败,您无法使用“回滚”一词将存储恢复到开始之前的状态。但这可以通过原生 API 来实现。
-
这是个问题。你有没有向 neo4j 家伙报告这个错误?我相信他们会想要纠正这个问题。
-
您好,是的 - REST 和事务有点难以合并。现在有一个关于如何尝试的讨论,请参阅lists.neo4j.org/pipermail/user/2011-May/thread.html#8363
-
@SrdjanPejic 这不是错误,这几乎是不可能的。任何实施都将是一种解决方法,而不是解决方案。因为没有连接,REST API 只是发送命令。
-
@Comptrol JRuby1.6 + Rails 3 + Neo4jrb(gem,提供原生API)
标签: ruby-on-rails ruby-on-rails-3 neo4j graph-databases