概述
Shard服务器是嬴图Powerhouse (v5)架构的一个重要组件,通常由多个服务器组成,专用于分布式图数据存储和计算。这种设计实现了横向扩展,同时提供极具竞争力的性能表现。
每个Shard支持多副本数据存储。在以下的三Shard配置中,Shard 1
、2
各有三个副本,Shard 3
有两个副本。数据库中的图分布存储在这些Shard中,其中Graph_1
存储在所有三个Shard,Graph_2
和Graph_3
存储在部分Shard,而Graph_4
存储在单Shard。

显示Shard服务器
获取所有Shard服务器的信息:
show().shard()
每个Shard服务器返回的详细信息包括:
字段 |
描述 |
---|---|
shardId |
每个Shard服务器的唯一标识符,通常按顺序编号(1,2,3,…) |
shardStatus |
Shard服务器当前状态,包括ACTIVE 和DEAD |
replicas |
Shard服务器的副本。每个副本包括:
|
添加Shard服务器
成功部署新的Shard服务器后,必须将其注册至Meta服务器,在系统能够识别该Shard服务器后才能使用它。
添加Shard服务器4
,它有三个副本:
alter().shard().add({
shardId: 4,
replicas: [
{addr: "127.0.0.1:40061", streamAddr: "127.0.0.1:40023"},
{addr: "127.0.0.2:40061", streamAddr: "127.0.0.2:40023"},
{addr: "127.0.0.3:40061", streamAddr: "127.0.0.3:40023"}
]
})
您也可以在部署集群过程中,通过在服务器端运行./ultipa.sh
脚本来添加Shard服务器:
./ultipa.sh cluster addshard --config example.sh
修改Shard服务器
您可修改Shard服务器的副本信息。
修改Shard服务器4
的副本信息:
alter().shard().replace({
shardId: 4,
replicas: [
{addr: "127.0.0.1:40061", streamAddr: "127.0.0.1:40023"},
{addr: "127.0.0.2:40061", streamAddr: "127.0.0.2:40023"}
]
})
删除Shard服务器
您可将不活跃或过时的Shard服务器从Meta服务器注销。
删除Shard服务器1
:
alter().shard().delete({shardId: 1})