首页/数据/NoSQL 速查/图数据库的适用场景与关联查询
本包目录(322 条)
MongoDB99 条Elasticsearch89 条ClickHouse56 条时序与列式28 条
选型与架构50 条

图数据库的适用场景与关联查询

当关系本身是查询主体(多跳路径、最短路径、环与社区)时,图数据库比在文档库或关系库上拼递归查询更直接:数据以顶点和边存储,遍历沿指针进行。层级浅、模式固定时继续用文档库的图查询或 SQL 递归即可。

NoSQL 速查数据更新于 2026-10-12

Cypher 查询示例(Neo4j 语法)

Cypher 查询示例(Neo4j 语法)
// 两跳之内可能认识的人(排除已关注的)
MATCH (me:User {id: 7})-[:FOLLOWS]->(b)-[:FOLLOWS]->(c)
WHERE NOT (me)-[:FOLLOWS]->(c) AND c <> me
RETURN c.id, count(*) AS paths
ORDER BY paths DESC LIMIT 10;
适合社交关系、反欺诈环路、权限继承、知识图谱等关系密集查询
不适合以点查与统计报表为主的负载:图库不擅长全量聚合与大扫描
替代方案浅层层级用 MongoDB $graphLookup;关系固定两点间查询用关系库 join 即可
图库选型关注遍历深度上限、写入一致性与运维复杂度;引入新组件前先验证核心查询在现有栈上确实无法满足。

易错点

  • 把全量报表压给图库:图遍历擅长局部关系,全量统计要靠导出或并存列式库
  • 为每个实体都建图模型:仅存少量关系时,图库的运维成本超过收益

数据来源与参考

  • Neo4j Docs: Cypher Query Language
  • MongoDB Manual: $graphLookup
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌