在计算中,图形数据库是使用图形结构进行语义查询,并使用节点,边和属性来表示和存储数据的一种数据库。这种系统的一个关键概念是图形(或边,或关系),它直接关联存储中的数据项。这些关系允许存储中的数据直接链接,并且在很多情况下通过一个操作进行检索。
这与关系型数据库形成了鲜明对比,关系型数据库借助关系数据库管理系统,可以在不实现物理记录链的方面的情况下进行数据管理。例如,数据之间的链接以逻辑级存储在数据库本身中,并且可以使用关系代数操作(例如,连接)来以相关逻辑格式操作和返回相关数据。借助于物理层面的数据库管理系统(例如使用索引),关系查询的执行是可能的,这允许在不修改数据库的逻辑结构的情况下提高性能。
图形数据库通过设计可以简单快速地检索难以在关系系统中建模的复杂分层结构。图表数据库与20世纪70年代的网络模型数据库类似,都表示通用图表,但网络模型数据库在较低的抽象级别上运行,并且缺少在一系列边上的简单遍历。
图形数据库的底层存储机制可能会有所不同。一些依赖于关系引擎并将图形数据“存储”在表格中(尽管表格是逻辑元素,因此该方法在图形数据库,图形数据库管理系统和数据的数据实际存储的物理设备之间施加了另一个抽象级别)。其他的使用键值存储或面向文档的数据库进行存储,这使得它们本身就是NoSQL结构。大多数基于非关系型存储引擎的图形数据库还添加了标签或属性的概念,这些标签或属性本质上是具有指向其他文档的指针的关系。 这可以将数据元素分类以便于集体检索。
图形数据库中检索数据需要使用除SQL以外的查询语言,该语言专为处理关系系统中的数据而设计,因此不能“优雅地”遍历图。截至2017年,没有一种统一的图形查询语言像SQL一样被用于关