我正在构建一个非常适合图形数据库的应用程序,并决定使用Neo4J。我有两个想法:是否在Neo4J节点上存储关于特定节点的数据,或者只是引用mongo db中的项目。Neo4J由MongoDB或Neo4J支持
例如
(联系人:NAME = “条例”,年龄= 29,ID = 1)< -neo
与
(联系人:ID = 1,UUID = “一些的UUID”)< - 新 {UUID: “一些的UUID” NAME = “条例”,年龄= 29} < - 蒙戈
我计划有一个REST接口,这可能看起来像数据:
/user/{id}
:
- (neo)我会通过neo中的id查找个人用户。
(neo + mongo)我会在mongo中找到用户(不需要触摸neo)。
/user/{id}/friends
:(新)查找用户的所有朋友和加载节点
- (新+蒙戈)查找用户的所有朋友们的ID和然后查询蒙戈的数据
所以我想我的问题是:是否有一个存储我的数据有关节点的所有Neo(性能等),因为这看起来更干净和简单。
感谢,
本
您还存储了哪些其他数据? – manonthemat
无论您使用单个数据库还是采用* polyglot持久性*方法并使用多个数据库,都无法正确回答此问题。这将取决于数据的特定形式,以及如何利用每个数据库的优势。在你的例子中,尽管你同时使用了两个,但你只能在neo4j中存储一个id,所以在那种情况下,你甚至如何利用Neo4j的查询功能? –