CORE CONCEPTS · 属性图数据库
Neo4j 核心知识
Neo4j 把关系作为一等数据。核心是属性图建模、Cypher 路径语义、索引/约束和集群路由,而不是把关系表逐行搬成节点。
学完应该能做到
- 能识别适合图遍历的问题
- 能写有界 Cypher
- 能管理 Cypher 与服务器版本变化
三个必须建立的心智模型
属性图建模
节点表达实体,关系表达有方向的语义,属性承载过滤和展示数据。
- 关系类型具体化
- 避免超级节点
- 用约束保证身份
Cypher 与路径
MATCH 描述图模式;可变长度路径若无边界会产生组合爆炸。
- 尽早过滤起点
- 限制路径长度
- 查看 PROFILE db hits
索引、事务与集群
范围/文本/点/向量索引加速起点定位,事务保证图更新原子性,集群提供路由与副本。
- 索引不是遍历替代品
- 使用书签保证因果一致
- 区分读副本和主成员
把知识落到工程决策
建模前
先写出访问模式、正确性边界、数据生命周期和故障预算,再决定表、键、索引或分区。
上线前
使用接近生产的数据分布与并发压测,记录查询计划、资源水位和恢复时间作为基线。
运行中
监控延迟分位数、容量增长、后台维护与复制健康;报警必须能映射到可执行处置步骤。