【发布时间】:2013-04-06 11:03:17
【问题描述】:
我想知道是否值得使用图形数据库专门处理关系。
我假装使用关系数据库来存储“用户”、“页面”、“评论”、“帖子”等实体。
但在典型的基于社交图的工作负载的大多数情况下,我必须进行深度遍历,关系不好处理并且涉及缓慢的连接。
示例:评论 -(made_in)-> 发布 -(made_in)-> 页面等...
我正在考虑做这样的事情:
示例:
用户 ID:1
查询:获取user_id 1的所有关注者
- 为 ID 为 1 的节点用户查询所有名为“follows”的输出边的 Neo4j
-
使用 id 列表在用户表上查询它们:
选择 * 来自用户 WHERE user_id IN (ids)
这么慢吗?
我已经看到这个问题Is it a good idea to use MySQL and Neo4j together?,但仍然无法理解为什么正确的答案说这不是一个好主意。
谢谢
【问题讨论】:
-
“好主意”是非常主观的。如果您的主要目标是性能,那么我会说这是一个坏主意。将所有用户数据存储在 neo4j 中会显着提高效率。您是否有使用多语言系统的特定用例?
标签: database relational-database neo4j graph-theory