你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
重要
新项目不再支持 Azure Cosmos DB for PostgreSQL。 不要将此服务用于新项目。 请改用以下两个服务之一:
将 Azure Cosmos DB for NoSQL 用于分布式数据库解决方案,该方案专为高规模场景设计,并提供 99.999% 的可用性服务级别协议(SLA)、即时自动缩放和跨多个区域的自动故障转移功能。
使用 Azure Database For PostgreSQL 的弹性群集功能,利用开源 Citus 扩展进行 PostgreSQL 的分片。
群集的大小(节点数及其硬件容量)易于更改。 但仍需为新群集选择初始大小。 下面是适用于合理选择的一些提示。
用例
Azure Cosmos DB for PostgreSQL 经常以以下方式使用。
多租户 SaaS
从现有单节点 PostgreSQL 数据库实例迁移到 Azure Cosmos DB for PostgreSQL 时,请选择一个其中辅助角色 VCore 和 RAM 总数等于原始实例总数的群集。 在这种情况下,我们实现了2~3倍的性能改进,因为分片可提高资源利用率,从而允许较小的索引等。
VCore 计数实际上是唯一的决策。 RAM 分配目前基于 vCore 计数来确定,如计算和存储页中所述。 协调器节点不需要像工作节点那样多的 RAM,但无法单独选择 RAM 和 vCores。
实时分析
vCore 总数:当工作数据可容纳在 RAM 中时,可以期望 Azure Cosmos DB for PostgreSQL 上出现与辅助角色核心数成正比的线性性能提高。 若要根据需要确定正确的 vCore 数,请考虑单节点数据库中查询的当前延迟以及 Azure Cosmos DB for PostgreSQL 中的必需延迟。 将当前延迟除以必需延迟,对结果进行舍入。
工作节点的内存(RAM):最佳情况是提供足够的内存,使大部分工作集能够容纳在内存中。 应用程序使用的查询类型会影响内存要求。 可以对查询运行“EXPLAIN ANALYZE”以确定它需要的内存量。 请记住,vCore 和 RAM 一起缩放,如计算和存储一文中所述。