"graph databases store relationship data as first-class entities",具体是什么意思?

"graph databases store relationship data as first-class entities", what does it mean exactly?

我想知道这句话在图数据库中到底是什么意思?

"graph databases store relationship data as first-class entities"

你能举个例子吗?

在关系数据库的世界里,行之间的关系并没有物理地存储在硬盘中。相反,外键用于从另一行引用一行。外键就像指针一样工作。这样,行之间的关系是在查询时使用类似 JOIN 的运算符计算的。这种类型的操作具有昂贵的成本,并且该成本根据 table 大小呈指数增长。

另一方面,在处理像 Neo4j 这样的图形数据库时,节点之间的关系实际上存储在硬盘中。每个存储的关系都指向一个开始节点和一个结束节点。这样数据库引擎就可以按照这些关系遍历图形,而不需要 JOIN 操作。这就是为什么你可以说关系是 "first-class entities in graph databases".