尚学堂给同学们带来全新的Java300集课程啦!java零基础小白自学Java必备优质教程_手把手图解学习Java,让学习成为一种享受_哔哩哔哩_bilibili
1. Neo4j 原生图处理
在前文中我们已经讨论过图数据库的一些基本概念。本文假设读者应该对节点通过命名的和有方向的联系关联、节点和联系都作为属性的容器这些概念有所熟悉。
虽然图模型在图数据库的各种表现基本上是一致的,但在数据库引擎的实现方式缺失百花齐放。对于很多不同的引擎体系结构,如果图数据库存在免索引邻接属性(index-free adjacency field) ,那么行业上通常认为它具有原生处理能力。
在免索引邻接的数据库引擎中,每个节点都会维护其对相邻节点的引用。因此每个节点都表现为其附近节点的微索引,这比使用全局索引代价小很多。这意味着查询时间与图的整体规模无关,它仅和所搜索图的数量成正比。
相反,一个非原生图数据库引擎使用(全局)索引连接各个节点,如下图所示。这些索引对每个遍历都添加一个间接层,因此会导致更大的计算成本。原生图处理的拥护者认为免索引邻接至关重要,因为它提供快速、高效的图遍历。