将 TerminusDB 扩展到多个服务器
Scaling TerminusDB to multiple servers
TerminusDB 运行 可以在多服务器环境中使用吗?
- 使用分片和集群数据库模式
- 或者在分布式数据库方案上可以运行吗?
- 或者它只能运行作为单个进程并且不能水平扩展?
如果可以横向扩展,怎么样?
您可以 运行 使用同一存储的多个 TerminusDB 实例,方法是使用至少支持可选锁定的分布式文件系统。 NFS4 和许多其他分布式 POSIX 文件系统就是这种情况。它也可能适用于 windows 共享 (SMB),但目前尚未测试。除了指向每个服务器上正确的存储目录(使用 TERMINUSDB_SERVER_DB_PATH
环境变量或通过在适当的目录中启动服务器以允许自动发现)之外,无需进行额外的设置即可完成此工作。
TerminusDB 不支持分片。要使用数据库,每个服务器实例都需要将完整的数据库加载到内存中,因此如果您的目标是减少单个实例的内存占用,那么水平扩展不会有任何好处。
如果您想提高查询吞吐量,使用多个 TerminusDB 实例将对您有所帮助,因为您可以将请求轮询到服务器池。这对于读取繁重的工作负载特别有益。
TerminusDB 运行 可以在多服务器环境中使用吗?
- 使用分片和集群数据库模式
- 或者在分布式数据库方案上可以运行吗?
- 或者它只能运行作为单个进程并且不能水平扩展?
如果可以横向扩展,怎么样?
您可以 运行 使用同一存储的多个 TerminusDB 实例,方法是使用至少支持可选锁定的分布式文件系统。 NFS4 和许多其他分布式 POSIX 文件系统就是这种情况。它也可能适用于 windows 共享 (SMB),但目前尚未测试。除了指向每个服务器上正确的存储目录(使用 TERMINUSDB_SERVER_DB_PATH
环境变量或通过在适当的目录中启动服务器以允许自动发现)之外,无需进行额外的设置即可完成此工作。
TerminusDB 不支持分片。要使用数据库,每个服务器实例都需要将完整的数据库加载到内存中,因此如果您的目标是减少单个实例的内存占用,那么水平扩展不会有任何好处。
如果您想提高查询吞吐量,使用多个 TerminusDB 实例将对您有所帮助,因为您可以将请求轮询到服务器池。这对于读取繁重的工作负载特别有益。