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

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

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

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

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

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

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

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

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