Mar*_*tin 6 mongodb graph-databases
我一直在调查一个图形数据库,我找到了neo4j,虽然这看起来很理想,但我也遇到了mongodb.
Mongodb不是官方的图形数据库,但我想知道它是否可以用于我的场景?
我在写一个应用程序,用户可以有朋友,这些朋友可以有朋友等...社交网络的典型社交部分.
我想知道我的情况可以mongodb足够吗?
实现起来有多容易,或者我真的需要专注于REAL图形数据库.
我注意到foursquare正在使用mongodb所以我认为它支持那里的基础设施.
但是,找到朋友中也有朋友的所有朋友是多么容易 - 例如
任何帮助真的很感激.
虽然这不是不可能的,但MongoDB不适合这种情况.
原因是MongoDB不执行JOIN.当您需要跨多个文档的查询时,您需要为每个文档单独查询.
在您的示例中,每个user文档都有一个包含_id其朋友的数组.要找到"也是UserB朋友的UserA朋友的所有朋友",意味着你会:
这些是您必须执行的三个查询.在每个查询之间,必须将结果集发送到应用程序,应用程序必须制定新查询并将其发送回数据库.从第二个查询返回的结果集可能非常大,这意味着第三个查询可能需要一段时间.
tl; dr:使用正确的工具完成工作.如果您的数据是基于图形的,并且您希望对其执行基于图形的查询,请使用图形数据库.
| 归档时间: |
|
| 查看次数: |
8277 次 |
| 最近记录: |