在 Azure Cosmos DB for PostgreSQL 中选择群集的初始大小
适用对象:PostgreSQL 的 Azure Cosmos DB (由 PostgreSQL 的 Citus 数据库扩展提供支持)
群集的大小(节点数及其硬件容量)易于更改。 但仍需为新群集选择初始大小。 下面是适用于合理选择的一些提示。
用例
Azure Cosmos DB for PostgreSQL 经常以以下方式使用。
多租户 SaaS
从现有单节点 PostgreSQL 数据库实例迁移到 Azure Cosmos DB for PostgreSQL 时,请选择一个其中辅助角色 VCore 和 RAM 总数等于原始实例总数的群集。 在这种情况下,我们实现了2~3倍的性能改进,因为分片可提高资源利用率,从而允许较小的索引等。
VCore 计数实际上是唯一的决策。 RAM 分配目前基于 vCore 计数来确定,如计算和存储页中所述。 协调器节点需要的 RAM 不像辅助角色那样多,但无法单独选择 RAM 和 Vcore。
实时分析
vCore 总数:当工作数据可容纳在 RAM 中时,可以期望 Azure Cosmos DB for PostgreSQL 上出现与辅助角色核心数成正比的线性性能提高。 若要根据需要确定正确的 vCore 数,请考虑单节点数据库中查询的当前延迟以及 Azure Cosmos DB for PostgreSQL 中的必需延迟。 将当前延迟除以必需延迟,对结果进行舍入。
辅助角色 RAM:最佳情况是提供足够的内存,使大部分工作集可容纳在内存中。 应用程序使用的查询类型会影响内存要求。 可以对查询运行“EXPLAIN ANALYZE”以确定它需要的内存量。 请记住,vCore 和 RAM 一起缩放,如计算和存储一文中所述。