系统存储是 ArcGIS Enterprise 支持在组织内管理功能和其他工作流的基础要求。 这一存储需求包括两个关系存储,用于支持托管的要素数据以及管理方面的功能,例如自定义和配置设置。
管理员可以配置持久卷来支持关系存储,或者选择通过支持的云数据库服务在集群外部配置关系存储。 如果管理员熟悉 PostgreSQL 数据库管理,这种选项可能更合适,因为使用 Amazon Web Services (AWS)、Microsoft Azure 和 Google Cloud 云服务时,它可提供更高的可靠性、扩展性和性能优势。
与所有服务产品一样,云数据库服务提供商可以更改其产品中的设置和功能,即使在次要版本中也是如此。 提供商所做的更改有可能对从 ArcGIS 到数据库的访问产生负面影响。 要减轻这些负面影响,建议您与云提供商合作,以了解其服务的任何变更,并保持更新 ArcGIS 软件,以便访问应对云服务变更的最新更新。 定期备份 ArcGIS Enterprise 组织,并测试备份恢复进程。
以下使用云关系存储与 ArcGIS Enterprise 集成时的相关注意事项,包括软件使用、支持类型、要求以及持续维护需求。
受支持的云数据库服务
以下云数据库服务类型支持与 ArcGIS Enterprise on Kubernetes 配合使用:
- Amazon RDS for PostgreSQL
- Amazon Aurora PostgreSQL
- Azure Database for PostgreSQL - Flexible Server
- Google Cloud SQL for PostgreSQL
- Google Cloud AlloyDB for PostgreSQL
注:
为了最大限度地减少延迟和连接问题,建议所有云数据库服务使用与 ArcGIS Enterprise 相同的云提供商和区域。
数据库要求
配置为与 ArcGIS Enterprise on Kubernetes 集成的云关系存储必须满足以下要求:
- PostgreSQL 实例版本必须受同版本 ArcGIS Enterprise on Kubernetes 的支持。
- ArcGIS Enterprise 12.0:PostgreSQL 15.x 或 16.x 版本
- ArcGIS Enterprise 11.5:PostgreSQL 15.x 或 16.x 版本
- ArcGIS Enterprise 11.4:PostgreSQL 15.x 版本
- 数据库必须能够从 Kubernetes 集群网络访问。 默认情况下,某些安全组和防火墙可能阻止直接访问数据库。
- 管理员账户必须使用数据库用户名和密码进行身份验证。
- 必须安装 PostGIS 插件并启用 PostGIS 空间类型。 这是 AWS 和 Google Cloud 的默认设置,但必须添加到 Azure 中允许的扩展模块。 目前,由于 PostGIS 问题 5978,仅支持 PostGIS 3.5.2 及更低版本。
连接与实例大小调整
为确保数据库实例有足够的资源,必须提前考虑并分配资源,因为许多服务不允许动态调整实例大小。 此外,实例在使用后调整大小可能会导致中断或意外问题。
每个数据库连接都会消耗数据库服务器的内存和 CPU,从而影响硬件需求。
例如:一个为托管要素服务运行的 Pod,在有 100 个并发请求时可能会占用 100 个数据库连接。 通常情况下,为托管要素服务运行的 Pod 有两个,因此至少需要 200 个连接。 为应对其他服务请求,建议额外预留 100 个连接,总计 300 个连接。
托管要素服务 pod 通常使用连接池来重复利用连接。 因此,300 个连接可以支持每秒最多 1000 个请求。 大多数云数据库的默认连接限制少于 300,建议将其提高至 300 或以上。
注:
不支持使用 pgBouncer 作为代理以池化与云关系存储的数据库连接。
数据库通过 RAM 提升频繁访问数据的性能。 托管要素服务的数据量通常最大。 由于服务使用频率差异显著,一些服务可能偶尔使用,而另一些则可能被频繁访问。 如果您确定某些托管要素服务会被持续访问,并且可以估算其数据规模,建议提前规划额外 RAM 以满足需求。
硬件建议
为满足中等负载的性能需求,推荐使用以下规格的数据库实例:
- 4 个虚拟 CPU
- 16 GB RAM
对于频繁访问的大型数据集,建议增加 RAM。
存储
组织的存储需求因所使用的数据而异。 建议基础存储配置为 100 GB,适用于少量附件的几百个托管要素服务。 要素附件(尤其是高分辨率影像)可能占用大量存储空间。 如预计会使用大量附件,应与 GIS 部门合作,合理估算存储需求。有些组织的数据需求可能超过 1 TB。
软件使用
配置云关系存储后,数据库需专用于 ArcGIS Enterprise on Kubernetes。 建议该数据库中不包含其他数据库或数据。 此外,软件会在数据库中创建数据库、方案和用户,包括以下内容:
- 用于存储托管要素服务数据的企业级地理数据库
- 用于存储内容和项目信息的数据库
- 用于存储 Webhook 信息的数据库
为 ArcGIS Enterprise 提供的管理数据库用户将在初始配置以及备份和恢复过程中使用。 为增强安全性,系统会创建权限最小化的用户,用于日常操作。
持续维护
使用云关系存储后,需由 IT 或数据库管理员负责系统的日常维护和管理。 以下为示例:
- 通过应用修补程序和监控硬件使用情况(尤其是存储)管理数据库系统。
- 管理系统范围的设置,例如连接数限制。
另一方面,ArcGIS Enterprise 软件会继续进行软件维护工作。 以下为示例:
- 在例行组织备份和恢复过程中备份和恢复数据库。
- 管理列、表、索引和用户。
管理员可以创建自己的数据库备份,但在单独恢复数据库备份之前,必须咨询 Esri 技术支持,因为此操作可能会导致与其他基础性需求(例如对象存储)的同步问题。
升级云关系存储
当使用云关系存储时,升级 ArcGIS Enterprise on Kubernetes 将不会自动升级数据库实例的版本。 请参阅云数据库服务的文档,获取升级数据库实例的说明,包括所需先决条件、预计停机时间、备份和测试的推荐做法以及升级失败时的数据恢复选项相关信息。 在升级数据库实例前,请确保新的数据库版本受 ArcGIS Enterprise on Kubernetes 版本的支持。