什么是原生(Native)图数据库?

原生(Native)图数据库指的是以图的方式存储、处理、查询和展现数据。原生图数据库在关系遍历和路径搜索类查询应用中有着最佳的性能。Neo4j是原生图数据库的倡导者,也是当前最流行、最成熟的原生图数据库软件的开发者。
什么是原生(Native)图数据库?_第1张图片
在Neo4j中,数据对象/实体被保存为节点,它们之间的关系则以链接地址的形式也保存在物理存储中。因此,在遍历关系时,原生的Neo4j图数据库中只要找到起始节点、读取节点的邻接边就可以访问该节点的邻居;而无需像关系数据库那样需要执行昂贵的连接JOIN操作,系统开销大大减少、执行效率极大提升。这一实现技术被称作“无需索引的邻接关系遍历”(Index Free Adjacency)。

因此,我们常说在关系型数据库中,关系是“计算”出来的;而在Neo4j图数据库中,关系是“读”出来的。
什么是原生(Native)图数据库?_第2张图片
与原生图数据库相对应的是“非原生”或者“多模式”图数据库。这些数据库支持图的表示和遍历,查询语言常采用Gremlin、或者类似SQL的语言;其底层物理存储则是键-值对,或者基于列的存储,或者关系存储。

非原生图数据库由于受到底层存储模式的限制,在处理多层遍历(例如搜索某节点的3阶以上的邻居)时,其性能往往会受到影响。

你可能感兴趣的:(Neo4j)