规划和容量规划InfinigraphAura 不可用2025.12 版本引入
规划分片属性数据库的拓扑结构
分片属性数据库部署在 Neo4j 集群中,图分片作为常规的 Raft 组运行。这意味着为了实现高可用性,您应该部署一个图分片集群,其拓扑结构至少包含三台以主模式(读写,RW)托管数据库的服务器。为了支持更高的容错能力,可以增加额外的从服务器。如果不需要高可用性,您也可以创建一个仅包含单个主机的数据库,以实现最低的写入延迟和成本效益。
可以将处于从模式(Secondary)的数据库添加到图分片中,以扩展读取工作负载。从服务器充当图数据的缓存,并完全具备执行只读(RO)查询和过程的能力。
副本(Replica)包含属性数据。属性数据通过事务日志传输从主模式(RW)数据库中进行复制。副本定期从上游服务器轮询新事务并将其传输过来。它们不在 Raft 组中,也不具备与图分片相同的高可用性功能。为了实现包含属性分片的副本的高可用性,建议为每个属性分片配置多个副本。属性分片副本的容错能力计算公式为 M = F + 1,其中 M 是容忍 F 个故障所需的副本数量。
下图展示了一个高可用属性分片部署的示例架构,它包含一个图分片、图分片从服务器,以及 4 个每个拥有 2 个副本的属性分片。
规划分片属性数据库的规模
属性分片依赖于 Neo4j 集群提供的基础设施管理和规模调整功能。具体而言:
-
部分服务器可以关联到图分片数据库。它们也可以被分离并限制为集群的主成员和从成员。
-
其他服务器可以关联到属性分片数据库。重要的是要考虑可用服务器的数量,以及分片和副本的数量(即,为了高可用性和读取可扩展性而产生的同一分片的多个副本)。
-
分片属性数据库中的数据是均匀分布的。建议确保每个数据库的大小不超过可用硬件的适宜范围,并允许进行相对顺畅的管理操作。例如,在普通虚拟机或物理硬件上,每个数据库的大小不应超过 1 到 3 TB。
-
如果属性分片初始规模较小并随时间增长,建议创建更多的属性分片,这些分片最初可以共存于同一台服务器上。
-
随着数据库规模的增长,可以增加额外的服务器,以允许对数据库进行硬件层面的重新分片。此项管理变更可以在正常的在线操作期间进行。
-
数据库重新分片(即更改属性分片或属性分片副本的数量)可以根据您的需求和约束在线或离线执行。请参阅 重新分片数据库。
图分片和属性分片都需要块格式(参见 存储格式)。如需准确的规模估算,请联系您的 Neo4j 代表寻求帮助。