mongodb - 将 MongoDB 与 Neo4J 结合起来是一个好的实践吗?

标签 mongodb neo4j mongodb-.net-driver neo4jclient nosql

我已经有一个.Net运行于 MongoDB 的 Web 项目我存储一些新闻/提要数据的地方。 一段时间后,我需要一种更快的方法来跟踪“谁分享了什么”以及“如何根据这些信息找到关系”。 然后我想到了一个想法,使用 graphDB 来跟踪相关的提要和用户。

由于系统已经在 MongoDB 上运行,我正在考虑将数据留在 Mongo 中并在 Neo4J 中创建图形表示用于应用图形搜索。

我不想将我的所有数据迁移到Neo4J因为很多人告诉我 MongoDB 的 I/O 性能比 Neo4J 好得多他们还指出Sharding功能。

在这种情况下您会提出什么建议? 如果我遵循我的想法,这会是一个好的实践吗?

最佳答案

我个人认为没有唯一的答案和最佳实践。使用多语言持久性系统是常见的用法。

现在一切都基于您的具体情况,有些问题我们无法直接为您回复:

  • 你有多少时间(学习一项新技术不是几天的事,直到你可以在生产中使用它并睡个好觉)

  • 您可以在该项目上投资多少钱,据我所知,如果您不是开源或商业公司,那么分片是 Neo4j 企业功能和许可证的成本。还有集群模式下 Neo4j 的托管成本。

  • 有多少数据?只要您的图表可以容纳在内存中,您就不会遇到 I/O 问题。

现在,除了这些点之外,是的,您可以首先尝试将 Neo4j 映射到 mongoDB 之上。

也许尝试进行增量迁移,然后在该过程结束时,可能会问您以下问题,为什么需要 MongoDB 来处理图形结构?

关于mongodb - 将 MongoDB 与 Neo4J 结合起来是一个好的实践吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27880160/

相关文章:

json - 为什么 Mongoose 用 "[object Object]"替换子文档?

python - 蒙戈 :Exception OperationFailure: unrecognized field 'mergeByPBRT'

java - Neo4j通过特定属性获取Node Java API

spring-boot - 如何使用spring-data-neo4j和Grails 3.3.6解决Spring bean冲突

mongodb - 如何在 MongoDB 中调试存储的 javascript 函数?

mongodb - 如何在 MongoDB 中创建用户

c# - MongoDB c#驱动程序 - 一个名为Id的字段可以不是Id吗?

mongodb - Mongoose 选择、填充和保存在 Mac 和 Windows 上的行为不同

javascript - NodeJS/ExpressJS/MongoDB 简单 API 错误

java - Neo4J 和 Spring 返回空关系