如需大致了解 AlloyDB Omni,请参阅 AlloyDB Omni 概览。
大小和容量
大小和容量会直接影响 AlloyDB Omni 实例的性能、可靠性和成本效益。迁移现有数据库时,所需的 CPU 和内存资源与来源数据库系统的要求类似。
计划从使用匹配的 CPU、RAM 和磁盘资源的部署开始,并将来源系统配置用作 AlloyDB Omni 基准配置。在对 AlloyDB Omni 实例执行充分测试后,您或许可以减少资源消耗。
调整 AlloyDB Omni 环境的大小包括以下步骤:
定义工作负载。
数据量:估算您将在 AlloyDB Omni 中存储的数据总量。请同时考虑当前数据以及随时间推移的预计增长情况。
事务速率:确定预期的每秒事务数量 (TPS),包括读取、写入、更新和删除。
并发:估算访问数据库的并发用户数量或连接数量。
性能要求:为不同类型的查询和操作定义可接受的响应时间。
确保您的硬件符合大小调整要求。
CPU:AlloyDB Omni 可从具有多个 CPU 核心的系统中受益,并且 AlloyDB Omni 会根据工作负载进行线性扩缩。不过,开源 PostgreSQL 通常不会从多于 16 个的 vCPU 中受益。请考虑以下事项:
- 基于工作负载并发和计算需求的核心数量。
- 由于 CPU 世代或平台发生变化而可能带来的任何性能提升。
内存:为用于缓存数据的 AlloyDB Omni 共享缓冲区以及用于查询处理的工作内存分配足够的 RAM。确切要求取决于工作负载。首先可为每个 vCPU 分配 8 GB 的 RAM。
存储
类型:根据您的需求,选择本地 NVMe 存储以提高性能,或选择 SAN 存储以实现可伸缩性和数据共享。
容量:确保有足够的存储空间以用于数据量、索引、预写式日志 (WAL)、备份和未来增长。
IOPS:根据工作负载的读写模式估算所需的每秒输入/输出操作数 (IOPS)。在公有云中运行 AlloyDB Omni 时,请考虑存储类型的性能特征,以了解您是否需要增加存储容量以实现特定 IOPS 目标。
运行 AlloyDB Omni 的前提条件
在运行 AlloyDB Omni 之前,请确保您满足以下硬件和软件要求。
硬件要求
AlloyDB Omni 部署堆栈的系统要求包括一个预配置的节点,用于运行各种组件。AlloyDB Omni 节点需要附加一个配置了 ext4/xfs 文件系统的数据磁盘,其大小根据数据大小估算。存储的性能特征会影响 AlloyDB Omni 的性能。
| 节点 | 硬件最低要求 | 推荐的硬件 |
|---|---|---|
| AlloyDB Omni |
|
|
- 我们建议您使用专用的固态硬盘 (SSD) 存储设备来存储数据。如果您将实体设备用于此用途,我们建议您将其直接挂接到宿主机。
软件要求
| 操作系统/平台 | 最低软件要求 |
|---|---|
| Linux1 |
|
-
AlloyDB Omni 假定在安装 AlloyDB Omni RPM 软件包之前,已安装
policycoreutils-python-utils软件包。这可让 AlloyDB Omni 配置 SELinux 政策,以允许 AlloyDB Omni 数据库服务运行。
支持的存储类型
AlloyDB Omni 支持数据库实例中的块存储卷上的文件系统。对于较小的开发或试用系统,请使用运行容器的主机的本地文件系统。对于企业工作负载,请使用为 AlloyDB Omni 实例预留的存储。根据数据库工作负载设置的需求,可将存储设备配置为采用单例配置(每个容器一个磁盘设备),也可以配置为采用合并配置(多个容器从同一磁盘设备读写数据)。
本地 NVMe 或 SAN 存储
本地非易失性快速内存 (NVMe) 存储和存储区域网络 (SAN) 存储都具有独特的优势。选择合适的解决方案取决于您的具体工作负载要求、预算和未来的可伸缩性需求。
如需确定最佳存储选项,请考虑以下事项:
- 如需优先考虑绝对性能,请选择本地 NVMe。
- 如果您需要大规模的共享存储空间,请选择 SAN。
- 如果您需要在性能和共享之间达到平衡,请考虑使用 NVMe over Fabrics 的 SAN,以便更快地访问数据。
本地 NVMe 存储
NVMe 是一种专为固态硬盘 (SSD) 设计的高性能协议。对于需要快速访问数据的应用,本地 NVMe 存储具有以下优势:
- NVMe SSD 可直接连接到外设组件互连快速 (PCIe) 总线,以提供快速的读写速度。
- 本地 NVMe 存储可提供最短的延迟时间。
- 本地 NVMe 存储可提供最高的吞吐量。
对本地 NVMe 存储扩容需要向各个服务器添加更多驱动器。不过,向各个服务器添加更多驱动器会导致存储池碎片化,并且可能导致管理变得复杂。本地 NVMe 存储并非专为在多个服务器之间共享数据而设计的。由于本地 NVMe 存储位于本地,因此服务器管理员必须使用硬件或软件廉价磁盘冗余阵列 (RAID) 来防范磁盘故障。否则,单个 NVMe 设备发生故障将导致数据丢失。
SAN 存储
SAN 是一种专用存储网络,可将多个服务器连接到共享存储设备池(这些设备通常是 SSD 或集中式 NVMe 存储)。虽然 SAN 不如本地 NVMe 快,但现代 SAN(尤其是使用 NVMe over Fabrics 的 SAN)仍可为大多数企业工作负载提供出色的性能。
SAN 具有高度可伸缩性。如需增加存储容量或提升性能,请添加新的存储阵列或升级现有存储阵列。SAN 在存储层提供冗余,以防范存储介质故障。
SAN 在数据共享方面表现出色。对于需要高可用性的企业环境,多个服务器可以访问和共享存储在 SAN 上的数据。如果发生服务器故障,您可以将 SAN 存储提供给数据中心内的其他服务器,从而可更快地恢复。