跳转到主要内容
Cloud Information Model 一个开放且与应用无关的数据模型,用于连接企业云端及本地应用程序。

本站部分链接为联盟营销链接:如果您通过这些链接购买,我们可能会获得佣金,且不会增加您的成本。这绝不会影响我们的推荐建议。详情请参阅我们的联盟披露声明。 联盟营销披露.

最佳图数据库比较:2026 年最佳选择

图形数据库将数据存储为节点、边和属性。到 2026 年,主流选项可分为四大类:Neo4j 等原生标记属性存储 (native labeled-property stores)、Amazon Neptune 等多模型和云托管服务、GraphDB 等 RDF 三元组存储 (RDF triple stores),以及 Kùzu 和 TigerGraph 等嵌入式或分析引擎。选择哪一种取决于查询语言、部署模型以及与现有关系系统的互操作性。

  • 图数据库将数据建模为节点(实体)、边(关系)和属性(两者的属性),这使得多对多遍历成为一项一流操作 (first-class operation),而非连接 (join) 操作。
  • 四个实用类别是原生标记属性存储、多模型/云托管服务、RDF 三元组存储以及嵌入式或分析引擎 —— 每类都适用于不同的工作负载。
  • 查询语言比基准测试更重要:Cypher、GQL、Gremlin、SPARQL 和 SQL/PGQ 并不互换,且 GQL 已在 2024 年成为 ISO/IEC 标准。
  • 存储分为原生图存储(无索引邻接)和非原生存储,后者在关系型、列式或键值后端之上构建图抽象层。
  • 图数据库是对关系数据库软件和数据集成数据库解决方案的补充而非替代;大多数企业同时运行两者并进行同步。
  • 本体 (Ontologies) 和图模式 (graph schemas) 密切相关但并不相同 —— 从本体到数据库模式的映射是一项设计决策,而非自动转换。

图数据库如何工作

图数据库的工作原理是将实体及其之间的关系存储为显式的、一流的记录,而不是在查询时通过连接 (joins) 来推断这些关系。节点代表一个事物 —— 客户、产品、账户、设备 —— 而边代表两个节点之间命名的有向连接,例如 PURCHASED、OWNS 或 REPORTS_TO。节点和边都可以携带属性:如 name、since 或 weight 等键值对。

遍历 (Traversal) 是主要操作。引擎从一个节点开始,沿着边到达相邻节点,然后到达其邻居,依此类推。在原生图引擎中,每个节点存储对其相邻边的直接引用,因此追踪关系更像是指针跳转而非索引查找。这就是通常所说的“无索引邻接” (index-free adjacency) 属性,也是为什么随着图的增长,深度遍历(朋友的朋友的朋友、多跳供应链、欺诈环)的成本相对平稳,而相应的 SQL 查询则会累积大量的连接操作。

图数据库还提供图算法:最短路径、PageRank 式中心性、社区检测和相似性评分。这些算法在引擎内部或补充分析层中运行,这就是为什么图系统出现在推荐、身份解析、IT 和网络运营以及知识图谱工作负载中的原因。

一个实际的警告:图引擎针对连接密集、关系繁重的查询进行了优化,而非针对数十亿行统一数据的批量聚合。期望图数据库取代列式仓库进行报表分析的团队通常最终会感到失望。

图数据库如何存储数据

图数据库以两种主要方式之一存储数据,这种区别驱动了大多数性能和运维差异。这一选择对于选择图数据库或用于数据集成的数据库至关重要。

Related: — The fully pipeline that just keeps running.

原生图存储将节点、边和属性保留在为邻接而设计的结构中。记录通常是固定大小且直接寻址的,因此引擎可以从节点直接跳转到其关系列表,而无需查阅全局索引。Neo4j 的记录存储和若干嵌入式引擎遵循此模式。原生存储往往能提供可预测的多跳遍历性能和简单的事务语义,使其成为强大的数据集成数据库解决方案。

非原生存储将图模型分层构建在现有后端之上 —— 关系表集、宽列存储、键值存储或对象存储。例如,Amazon Neptune 将存储与计算分离并跨可用区复制,而一些云服务则在关系引擎之上构建图抽象。非原生设计通常在弹性、托管运维以及与现有备份和数据库安全工具选项的集成方面更具优势,但代价是牺牲了部分遍历效率。这些通常用于复杂的数据集成数据库管理场景。

第三种模式是分析型或列式图引擎,它将邻接关系存储在压缩数组中,并以矢量化、面向批处理的方式处理查询。这类引擎在全图分析方面表现强劲,但在高频事务写入方面较弱。

If you are shopping: — for hybrid cloud-to-on-prem integration.

无论采用哪种模式,模式 (schema) 问题都是相同的:您是预先定义节点标签和关系类型(模式约束/schema-constrained),有效地将本体映射到数据库模式,还是让它们自然产生(模式可选/schema-optional)?模式可选启动更快但治理更难;模式约束启动较慢但更容易验证、索引和保障安全。

Facebook 使用什么图数据库

Facebook (Meta) 构建并开源了 TAO,这是一个分布式图存储,位于分片 MySQL 部署之上,服务于社交图 —— 用户、帖子、页面、评论以及它们之间的边。TAO 不是 Neo4j 意义上的通用图数据库;它是一个专门构建的缓存和图抽象层,针对极高的读取量和少量已知查询模式进行了优化。

Meta 还发表了关于 SocialGraph 以及用于排名和完整性工作的基于图的系统的研究,并为更广泛的图生态系统做出了贡献。对于企业架构师来说,这个教训比琐事更有用:在极大规模下,公司经常在经过验证的存储之上构建专门的图层,而不是采用单一的现成图数据库。这种模式 —— 图抽象加上持久化后端 —— 正是许多多模型和云托管服务产品化的方向。

Palantir 使用什么图数据库

Palantir 的 Foundry 和 Gotham 平台是围绕本体驱动的数据层构建的,而非单一品牌的图数据库。本体定义了对象、属性和链接,底层存储是分布式计算和存储引擎的混合体,Palantir 在其工程资料中描述过这些引擎,包括与 Apache Spark 的协作及自定义服务。Palantir 还记录了针对特定分析工作负载与图引擎的集成。

架构上的启示是,Palantir 将图视为异构数据之上的语义层,而非记录系统 (system of record)。这是一种常见的企业模式:将权威数据保存在关系数据库软件和对象存储中,并公开图视图以进行探索、血缘分析和决策支持。

图数据库是如何存储的

图数据库存储为节点记录、关系记录和属性记录,并为查询属性维护索引。在原生引擎中,关系记录通常是双向链接的,因此可以在无需反向索引的情况下在任一方向遍历边。属性值较小时可内联存储,较大时则存储在独立存储区,且字符串属性通常采用字典编码以节省空间。

Related: — with a managed cloud option.

持久性遵循标准数据库实践:用于故障恢复的预写日志 (WAL)、定期检查点或快照,以及用于可用性的复制。云托管图服务通常将存储与计算分离,跨可用区复制并提供时间点恢复。当团队比较图数据库时,备份和恢复行为是最被低估的标准之一,应与查询语言和跨功能性能一起纳入任何评估矩阵。

如何查询图数据库

图数据库使用图查询语言进行查询,语言的选择通常是最大的供应商锁定因素。

  • Cypher – 基于模式的声明式 ASCII 语法,例如 “MATCH (a:Person)-[:KNOWS]->(b) RETURN b”。被广泛使用,是 GQL 标准的基础。
  • GQL – 作为 ISO/IEC 39075:2024 发布,是数十年来的首个新 ISO 数据库语言。它标准化了属性图的查询语法,是图查询趋于统一而非碎片化的最强信号。
  • Gremlin:一种 Apache TinkerPop 命令式遍历语言,适用于需要对遍历进行增量控制的场景。
  • SPARQL:RDF 三元组的 W3C 标准查询语言,如果您的模型面向本体且需要推理,这是正确选择。
  • SQL/PGQ:SQL:2023 的属性图扩展,允许关系引擎在 SQL 内部表达图模式匹配。这对于希望在不引入第二个数据库的情况下进行图查询的团队非常重要。

实用的查询设计规则:尽早过滤索引属性,限制遍历深度,并避免在交互式查询中使用无界可变长度路径。大多数“图数据库慢”的事故源于无界遍历,而非引擎限制。

Where we would start: — Push-down ELT built for cloud data warehouses.

如何创建图数据库

无论部署自管版本还是使用托管服务,创建图数据库都遵循一个可重复的序列:

  1. 领域建模。 确定关键实体以及需要回答的问题。先编写遍历逻辑 —— 查询即需求。
  2. 定义标签、关系类型和属性。 决定哪些是节点,哪些是属性。常见错误是将一切都建模为节点,或将关系埋在 JSON 属性中。
  3. 选择部署方式。 托管云服务可减轻运维负担;自管部署可控制存储、调优和网络布局。
  4. 加载数据。 初始加载使用批量导入工具,持续同步则使用流式传输或变更数据捕获 (CDC) 管道。
  5. 索引与约束。 在查询过滤的属性上创建唯一性约束和索引。
  6. 安全与治理。 应用基于角色的访问控制 (RBAC)、传输中和静态加密,并与现有的数据库安全工具和审计管道集成。
  7. 运维。 在图数据库成为核心承载之前,设置监控、备份验证和模式演进流程。

比较标准:如何选择

标准评估内容为什么重要
查询语言Cypher, GQL, Gremlin, SPARQL, SQL/PGQ决定开发者的上手速度和图数据库的锁定程度
存储模型原生 vs. 非原生 vs. 列式驱动遍历性能和弹性
部署方式自管, 托管云, 嵌入式决定运维负担和成本概况
集成能力CDC, ETL, 流式传输, SQL 联合决定图数据库作为数据集成的数据库如何保持同步
安全性RBAC, 加密, 审计, 多租户企业对数据库安全工具的门槛要求
分析能力内置算法 vs. 外部影响是否需要第二个系统来进行数据集成数据库解决方案和数据集成数据库管理,或将本体映射到数据库模式

图数据库在数据集成和云信息模型 (CIM) 中的位置

图数据库很少独立存在。企业数据架构师通常将其与关系数据库软件、仓库以及负责跨源移动和协调数据的数据集成数据库管理层协同运行。图成为了存储关系、血缘和跨域语义的地方,而关系系统则保持为事务完整性的记录系统。

这就是共享的、与应用无关的模型发挥作用的地方。云信息模型 (CIM) 是一项开源工作,旨在定义通用的业务实体和关系 —— 客户、订单、产品、账户及其链接 —— 从而使不同供应商的系统能够互操作,而无需为每对系统编写定制映射。对于图从业者,CIM 可作为本体到数据库模式映射的起点:将 CIM 实体映射到节点标签,将 CIM 关系映射到边类型,从而获得一个词汇表已与集成和分析同行共享的图。

两点设计注意事项:首先,本体和模式不是同一个产物:本体表达含义和约束,而图模式表达存储和索引决策。将两者关联是一项自觉的设计工作。其次,多对多关系是图表存在的原因。然而,在向量数据库中进行相似性搜索时,请使用并集或边集合显式建模多对多,而非依赖邻近嵌入;向量索引响应的是“什么相似”,而非“什么连接”。

对于评估数据集成数据库解决方案的团队,实际测试标准是:图数据库能否通过与其他所有系统相同的管道进行填充和刷新。如果一个图数据库需要专属的定制摄取路径,它在一年内就会变成一个孤儿系统。

资料来源和进一步阅读

  • 图数据库 — 维基百科:图数据库 (GDB) 是一种使用图结构进行语义查询的数据库,其中包含节点、边和属性来表示和存储数据。一个关键概念…
  • 数据集成 — 维基百科:数据集成是组合、共享或同步多个来源的数据以为用户提供统一视图的过程。有各种各样的…
  • 数据库 — 维基百科:在计算中,数据库是有组织的数据集合或基于数据库管理系统 (DBMS) 的使用的一种数据存储类型,数据库管理系统是与…交互的软件
  • 数据库模式 — 维基百科:数据库模式是用通常由关系数据库管理系统 (RDBMS) 支持的形式语言描述的数据库结构。这个词…

常见问题

什么是图数据库?

图形数据库是一种数据管理系统,它将实体存储为节点,将实体之间的关系存储为边,并附加属性。它的设计使得遍历关系是原生操作,而不是在查询时计算的连接。这使其成为非常适合数据集成和连接数据问题(例如推荐、欺诈检测、身份解析和知识图谱)的数据库。

图数据库如何存储数据?

图数据库存储节点记录、关系记录和属性记录,以及用于查找的属性上的索引。本机引擎在节点及其边之间保留直接引用,这种方法称为无索引邻接。非原生引擎将图形抽象分层在关系、列式或键值存储之上,以牺牲一些遍历效率来换取弹性和托管操作。

如何查询图数据库?

图数据库使用图查询语言进行查询:用于模式匹配的 Cypher、作为 ISO/IEC 39075:2024 标准的 GQL、用于命令式遍历的 Gremlin、用于 RDF 的 SPARQL 以及用于 SQL 内部图模式的 SQL/PGQ。查询通常从一组节点开始,遵循类型关系,过滤属性,然后返回路径或聚合。

Facebook 使用哪个图形数据库?

Meta 构建并开源了 TAO,这是一个分层于分片 MySQL 之上的分布式图存储,以非常高的读取量为社交图提供服务。它是专门构建的图形抽象,而不是通用图形数据库。更广泛的模式——持久存储上的专用图层——大规模重复出现,并由多个托管图服务和数据集成数据库解决方案产品化。

Palantir 使用哪个图形数据库?

Palantir 的平台围绕本体驱动的数据层而不是单一品牌的图形数据库进行组织,有效地将本体映射到数据库模式,并在底层使用分布式计算和存储引擎,并记录了与特定工作负载的图引擎的集成。该图充当异构数据上的语义层,而不是记录系统。

如何创建图形数据库?

首先对域进行建模并编写所需的遍历,然后定义节点标签、关系类型和属性。选择托管或自我管理部署,批量加载初始数据,创建索引和唯一性约束,应用基于角色的访问控制和加密作为数据库安全工具,并在图表变得关键业务之前设置监控和备份验证。

图数据库会取代关系数据库吗?

不会。图形数据库通过处理关系密集的遍历和分析来补充关系数据库软件,否则需要深层连接链。大多数企业将事务记录系统保存在关系引擎中,并同步用于探索、血缘分析和连接数据分析的图表,将它们用作整体数据集成数据库管理的一部分。

权威来源

Frequently asked questions

什么是图数据库?

图形数据库是一种数据管理系统,它将实体存储为节点,将实体之间的关系存储为边,并附加属性。它的设计使得遍历关系是本机操作,而不是在查询时计算的联接。这使其成为非常适合数据集成和连接数据问题(例如推荐、欺诈检测、身份解析和知识图谱)的数据库。

图数据库如何存储数据?

图数据库存储节点记录、关系记录和属性记录,以及用于查找的属性上的索引。本机引擎在节点及其边缘之间保留直接引用,这种方法称为无索引邻接。非本机引擎将图形抽象分层在关系、列式或键值存储之上,以牺牲一些遍历效率来换取弹性和托管操作。

如何查询图数据库?

图数据库使用图查询语言进行查询:用于模式匹配的 Cypher、作为 ISO/IEC 39075:2024 标准的 GQL、用于命令式遍历的 Gremlin、用于 RDF 的 SPARQL 以及用于 SQL 内部图模式的 SQL/PGQ。查询通常从一组节点开始,遵循类型关系,过滤属性,然后返回路径或聚合。

Facebook 使用哪个图形数据库?

Meta 构建并开源了 TAO,这是一个分层于分片 MySQL 之上的分布式图存储,以非常高的读取量为社交图提供服务。它是专门构建的图形抽象,而不是通用图形数据库。更广泛的模式——持久存储上的专用图形层——大规模重复出现,并由多个托管图形服务和数据集成数据库解决方案产品化。

Palantir 使用哪个图形数据库?

Palantir 的平台围绕本体驱动的数据层而不是单一品牌的图形数据库进行组织,有效地将本体映射到数据库模式,并在底层使用分布式计算和存储引擎,并记录了与特定工作负载的图形引擎的集成。该图充当异构数据上的语义层,而不是记录系统。

如何创建图形数据库?

首先对域进行建模并编写所需的遍历,然后定义节点标签、关系类型和属性。选择托管或自我管理部署,批量加载初始数据,创建索引和唯一性约束,应用基于角色的访问控制和加密作为数据库安全工具,并在图表变得关键业务之前设置监控和备份验证。


See Matillion transform data inside your warehouse

Push-down ELT built for cloud data warehouses