2.2. Сценарии развёртывания #

Postgres Pro AXE подразумевает следующие основные сценарии развёртывания, но не ограничивается ими:

  • Один сервер, обрабатывающий OLAP и OLTP-нагрузки одновременно без отказоустойчивости.

    Рисунок 2.1.


  • Кластер, в котором главный сервер обрабатывает OLTP-нагрузку, а один из резервных серверов обрабатывает OLAP-нагрузку.

    Рисунок 2.2.


  • Кластер, в котором главный сервер обрабатывает OLTP-нагрузку, а резервные серверы обрабатывают OLAP-нагрузку, сбалансированную proxima.

    Рисунок 2.3.


Parquet-файлы с OLAP-данными можно хранить в локальном, сетевом или S3-хранилище.

Во всех сценариях развёртывания расширения pgpro_axe и pgpro_metastore устанавливаются на каждом сервере, обрабатывающем OLAP-нагрузку.

2.2.1. Влияние аналитических запросов на OLTP-нагрузку #

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

  • Если аналитические запросы выполняются на главном сервере, риск высокий, так как OLTP и OLAP-нагрузки конкурируют за вычислительные ресурсы в одном кластере. В этом случае неправильный аналитический запрос может помешать обработке OLTP-нагрузки.

  • Если аналитические запросы выполняются на синхронном резервном сервере, риск снижен, но не отсутствует, так как неправильный аналитический запрос всё ещё может привести к сбою синхронного резервного сервера и при определённой серверной конфигурации оказать влияние на ведущий сервер.

  • Если аналитические запросы выполняются на асинхронном резервном сервере, риск минимален. В этом случае даже если неправильный аналитический запрос приводит к сбою асинхронного резервного сервера, главный сервер продолжает обрабатывать OLTP-нагрузку.

Рекомендации по обработке OLAP-нагрузки:

  • Используйте главный сервер и синхронные резервные серверы для обработки стабильной и проверенной OLAP-нагрузки в соответствии с доступными вычислительными ресурсами. При этом избегайте предоставления прямого доступа группам аналитиков, а также выполнения незапланированных (ad hoc) аналитических запросов, непроверенных аналитических запросов, а также аналитических запросов с непредсказуемым использованием ресурсов.

  • Используйте асинхронные резервные серверы для обработки большей части OLAP-нагрузки и тестирования аналитических запросов перед их обработкой на главном сервере или синхронном резервном сервере. Для интерактивного анализа и выполнения незапланированных аналитических запросов можно использовать каскадные резервные серверы, которые не оказывают влияния на главный сервер.

  • Используйте автономные серверы Postgres Pro, работающие с общим сетевым или S3-хранилищем, для создания, тестирования и выполнения незапланированных аналитических запросов с непредсказуемым временем выполнения.

2.2.2. Проверка доступных сетевых и вычислительных ресурсов, а также ресурсов хранения #

При развёртывании Postgres Pro AXE распределяйте OLAP-нагрузку между серверами таким образом, чтобы получившаяся в результате топология отвечала требованиям к производительности.

Рекомендации по построению топологии:

  • Определите основные OLAP-процессы и приложения и установите временные ограничения на выполнение ETL-операций.

  • Подготовьте диаграмму перемещения данных между хранилищами.

  • Убедитесь, что сеть и хранилища обеспечивают достаточную пропускную способность для выполнения операций с рекомендуемым запасом в 30%.

  • Выберите серверы, которые будут использоваться для обработки большей части OLAP-нагрузки. Убедитесь, что эти узлы имеют достаточно вычислительных ресурсов для выполнения ETL-операций в рамках требуемых ограничений по времени с рекомендуемым запасом в 30%.

  • Убедитесь в отсутствии узких мест. При их наличии рассмотрите возможность выделения дополнительных вычислительных ресурсов или изменения топологии.