Что происходит при параллелизации запросов в однонодовом Postgres?

В одном PostgreSQL-узле запрос может разделить подходящий план между parallel workers, а несколько клиентских запросов — выполняться одновременно. Оба варианта делят CPU, память и диски узла.

Короткий ответ

Что ответить на собеседовании

В одном PostgreSQL-узле запрос может разделить подходящий план между parallel workers, а несколько клиентских запросов — выполняться одновременно. Оба варианта делят CPU, память и диски узла.

Подробный разбор

Ответ с пояснениями

В одном PostgreSQL-узле запрос может разделить подходящий план между parallel workers, а несколько клиентских запросов — выполняться одновременно. Оба варианта делят CPU, память и диски узла.

В параллельном плане workers обрабатывают части данных, а Gather/Gather Merge собирает результаты. Не все операции и функции подходят для параллельного исполнения, и планировщик может выбрать последовательный вариант.

Дополнительные workers помогают большим вычислениям, но при насыщенном сервере способны ухудшить общую задержку. Учитывайте число одновременных запросов, work_mem на операции и накладные расходы. Это не горизонтальное распределение таблицы между несколькими серверами.

Источник: www.postgresql.org.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее