图数据库

一、第一性问题:为什么需要图数据库

1. 数据系统解决的本质问题

任何数据系统,本质都在回答一个问题:

系统中"价值信息"主要存在于哪里?

数据系统价值主要存在于
关系数据库单条记录的属性 + 聚合结果
KV / 文档数据库单个对象整体
搜索引擎文本相关性
图数据库实体之间的关系结构

当问题的复杂度主要来自:

此时,关系本身成为一等公民,图数据库成为结构上的必然选择。


二、图数据库的核心思想:关系本体化

1. 关系是一等公民

在传统 RDBMS 中:

在图数据库中:

图数据库不是"另一种存储方式",而是把关系提升为可计算对象


三、图建模哲学:不是"怎么建",而是"为什么这样建"

1. 基础抽象

2. 什么时候"应该建边"

一个关系值得成为边,通常满足至少一个条件:

  1. 关系本身具有业务语义(朋友、交易、调用)
  2. 关系会被频繁遍历或参与路径计算
  3. 关系比实体属性更稳定

3. 反范式的合理性

在图数据库中,反范式不是妥协,而是设计选择:

图数据库优化的核心目标是:控制遍历状态空间,而非减少存储。


四、统一遍历计算模型(超越 API)

所有图查询,本质都可抽象为:

遍历 = 起点 × 扩展规则 × 约束 × 终止条件

1. 四个基本要素

2. 已知结构 vs 未知结构

路径查询、最短路径、推荐系统,本质都是这一模型的不同实例。


五、图数据库性能的结构性决定因素

1. 性能不是"快不快",而是"状态空间大不大"

决定遍历成本的核心因素:

2. 超级节点的本质

超级节点的问题不在"节点多",而在:

缓解方式:


六、图分析:从"查询"到"结构计算"

1. 寻路问题

本质:

典型算法:

应用:导航、网络分析、反欺诈链路追踪

2. 中心性分析

衡量节点在整体结构中的"位置价值":

3. 群体检测

目的:

方法:


七、图与机器学习的结合

1. 图特征工程

2. 图嵌入(Embedding)

目标:


八、底层实现的抽象模型

1. 为什么图遍历可以做到 O(1)

核心原因不是"没有索引",而是:

抽象模型:

2. 实现只是模型的具体化

以 Neo4j 为例:

实现细节可以变化,但:

邻接直连 + 指针跳转,是图数据库不变的核心结构。


九、总结:图数据库的稳定认知框架

关联内容(自动生成)