В одном PostgreSQL-узле запрос может разделить подходящий план между parallel workers, а несколько клиентских запросов — выполняться одновременно. Оба варианта делят CPU, память и диски узла.
Что происходит при параллелизации запросов в однонодовом Postgres?
В одном PostgreSQL-узле запрос может разделить подходящий план между parallel workers, а несколько клиентских запросов — выполняться одновременно. Оба варианта делят CPU, память и диски узла.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
В одном PostgreSQL-узле запрос может разделить подходящий план между parallel workers, а несколько клиентских запросов — выполняться одновременно. Оба варианта делят CPU, память и диски узла.
В параллельном плане workers обрабатывают части данных, а Gather/Gather Merge собирает результаты. Не все операции и функции подходят для параллельного исполнения, и планировщик может выбрать последовательный вариант.
Дополнительные workers помогают большим вычислениям, но при насыщенном сервере способны ухудшить общую задержку. Учитывайте число одновременных запросов, work_mem на операции и накладные расходы. Это не горизонтальное распределение таблицы между несколькими серверами.
Источник: www.postgresql.org.