架构总览

Nebula Graph由三种服务构成:Graph服务、Meta服务和Storage服务。

每个服务都有可执行的二进制文件和对应进程,用户可以使用这些二进制文件在一个或多个计算机上部署Nebula Graph集群。

下图展示了Nebula Graph集群的经典架构。

Nebula Graph architecture

Meta服务

在Nebula Graph架构中,Meta服务是由nebula-metad进程提供的,负责数据管理,例如Schema操作、集群管理和用户权限管理等。

Meta服务的详细说明,请参见Meta服务

Graph服务和Storage服务

Nebula Graph采用计算存储分离架构。Graph服务负责处理计算请求,Storage服务负责存储数据。它们由不同的进程提供,Graph服务是由nebula-graphd进程提供,Storage服务是由nebula-storaged进程提供。计算存储分离架构的优势如下:

  • 易扩展

    分布式架构保证了Graph服务和Storage服务的灵活性,方便扩容和缩容。

  • 高可用

    如果提供Graph服务的服务器有一部分出现故障,其余服务器可以继续为客户端提供服务,而且Storage服务存储的数据不会丢失。服务恢复速度较快,甚至能做到用户无感知。

  • 节约成本

    计算存储分离架构能够提高资源利用率,而且可根据业务需求灵活控制成本。如果使用Nebula Graph Cloud,可以进一步节约前期成本。

  • 更多可能性

    基于分离架构的特性,Graph服务将可以在更多类型的存储引擎上单独运行,Storage服务也可以为多种目的计算引擎提供服务。

Graph服务和Storage服务的详细说明,请参见Graph服务Storage服务