图数据库(Graph Database)是一种以图结构进行存储和查询的数据库。图数据库的关键概念是点(代表实体)和边(代表关系),通过边将顶点连接在一起,从而进行快速的图检索操作。
与传统关系型数据库相比,图数据库的优势有:
- 可以很自然的表达现实世界中的实体及其关联关系(对应图的顶点及边);
- 灵活的数据模型可以适应不断变化的业务需求;
- 灵活的图查询语言,轻松实现复杂关系网络的分析;
- 关系型数据库在遍历关系网络并抽取信息的能力非常弱,图数据库则为此而生;
- 关系型数据库在规模庞大时很难做多层关联关系分析(Join操作往往消耗过长时间而失败),图数据库则天然把关联数据连接在一起,无需耗时耗内存的Join操作,可以保持常数级时间复杂度。
图数据库典型查询示例
- 多层关联:查询一个人的好友的好友有哪些?
- 最短路径:查询两个点之间的最短路径。
- 连通子图:查询一个点在K步以内相连接的所有邻接点(K=1,2,3…)。
- 协同推荐:查询一个人的好友里面,哪些人喜欢哪些东西,然后把那些东西推荐给这个人。
- 集中度测量:如PageRank、PersonalRank、特征向量集中度、亲密度等。