Выбор начального размера кластера в Azure Cosmos DB для PostgreSQL

ПРИМЕНИМО К: Azure Cosmos DB для PostgreSQL (на базе расширения базы данных Citus для PostgreSQL)

Размер кластера, как количество узлов, так и их аппаратную емкость, легко изменить). Однако вам по-прежнему нужно выбрать начальный размер для нового кластера. Ниже приведены некоторые советы по выбору.

Варианты использования

Azure Cosmos DB для PostgreSQL часто используется следующими способами.

Мультитенантное приложение SaaS

При миграции в Azure Cosmos DB для PostgreSQL из существующего экземпляра базы данных PostgreSQL с одним узлом выберите кластер, в котором общее количество рабочих виртуальных ядер и ОЗУ равно количеству исходного экземпляра. В таких сценариях наблюдается улучшение производительности в 2–3 раза, так как сегментирование оптимизирует использование ресурсов, позволяет уменьшить индексы и т. д.

На самом деле, вам нужно выбрать только число виртуальных ядер. Выделение ОЗУ в настоящее время выполняется в зависимости от количества виртуальных ядер, как описано в статье о вычислениях и хранении. Для узла-координатора не требуется столько ОЗУ, сколько необходимо рабочим ролям, но возможности выбирать количество ОЗУ и виртуальных ядер независимо друг от друга нет.

Анализ в реальном времени

Общее количество виртуальных ядер. Если рабочие данные помещаются в ОЗУ, можно ожидать линейного повышения производительности в Azure Cosmos DB для PostgreSQL пропорционально количеству рабочих ядер. Чтобы определить нужное количество виртуальных ядер, учитывайте текущую задержку запросов в базе данных с одним узлом и требуемую задержку в Azure Cosmos DB для PostgreSQL. Разделите текущее значение задержки на планируемое и округлите результат.

Объем ОЗУ для рабочей роли — желательно предоставить такой объем памяти, чтобы ее хватало для большей части рабочего набора данных. Тип запросов, используемых приложением, влияет на требования к памяти. Можно выполнить EXPLAIN ANALYZE для запроса, чтобы определить требуемый объем памяти. Учитывайте, что виртуальные ядра и ОЗУ масштабируются вместе, как описано в статье о вычислениях и хранении.

Дальнейшие действия