我已经有一个.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/