【发布时间】:2016-09-09 16:41:49
【问题描述】:
我正在构建一个非常适合图形数据库的应用程序,我决定使用 Neo4J。对于是否将有关特定节点的数据存储在 Neo4J 节点上,或者只是引用 mongo db 中的项目,我有两种想法。
例如
(人:name="Bill",age=29,id=1)
对比
(人:id=1, uuid="some-uuid")
我计划为数据提供一个 REST 接口,可能如下所示:
/user/{id}:
- (neo) 我会通过 neo 中的 id 来查找单个用户。
-
(neo + mongo) 我会在 mongo 中找到用户(不接触 neo)。
/user/{id}/friends: (neo) 查找用户所有好友并加载节点
- (neo + mongo) 找到用户的所有好友获取id然后查询mongo数据
所以我想我的问题是:将有关节点的数据全部存储在 Neo(性能等)中是否有不利的一面,因为这似乎更干净和简单。
谢谢,
本
【问题讨论】:
-
您还存储了哪些其他数据?
-
无论您是使用单个数据库还是采用 多语言持久性 方法并使用多个数据库,这确实没有正确的答案。这将取决于您的数据的具体形式,以及您希望如何利用每个数据库的优势。在您的示例中,尽管您同时使用两者,但您只是在 neo4j 中存储了一个 id,所以在这种情况下,您如何利用 Neo4j 的查询功能?