Nebula Graph 由三种服务构成:Graph 服务、Meta 服务和 Storage 服务,是一种存储与计算分离的架构。
Meta 服务
在 Nebula Graph 架构中,Meta 服务是由 nebula-metad 进程提供的,负责数据管理,例如 Schema 操作、集群管 理和用户权限管理等。
leader 和 follower 的数据通过 Raft 协议保持一致,因此 leader 故障和选举新 leader 不会导致数据不一致。
功能点:
管理用户账号
Meta 服务中存储了用户的账号和权限信息,当客户端通过账号发送请求给Meta 服务,Meta 服务会检查账号信息,以及该账号是否有对应的请求权限。
管理分片
Meta 服务负责存储和管理分片的位置信息,并且保证分片的负载均衡。
管理图空间
Nebula Graph 支持多个图空间,不同图空间内的数据是安全隔离的。Meta 服务存储所有图空间的元数据(非完整数据),并跟踪数据的变更,例如增加或删除图空间。
管理 Schema 信息
Nebula Graph 是强类型图数据库,它的 Schema 包括 Tag、Edge type、Tag 属性和 Edge type 属性。
Meta 服务中存储了 Schema 信息,同