В СУБД PostgreSQL добавлена поддержка распараллеливания запросов

Nov 12, 2015 16:26

Оригинал взят у mshurutov в В СУБД PostgreSQL добавлена поддержка распараллеливания запросов
Новость, однако с опеннета.

В экспериментальную ветку, на базе которой будет формироваться релиз PostgreSQL 9.6, приняты изменения с реализацией распараллеливания операций последовательного сканирования записей (Sequential Scan), используемых для перебора значений в случае выборки по непроиндексированным полям или при манипуляциях с содержимым полей. Перебор в несколько параллельных потоков позволит существенно увеличить скорость перебора данных на системах с большим числом процессорных ядер. Выигрыш особенно заметен для ресурсоёмких запросов, таких как сопоставление по регулярным выражениям.

Например, выполнение тестового запроса "select * from pgbench_accounts where filler like '%a%'" в обычных условиях занимает 743 мс, в то время как при распараллеливании в четыре потока - 213 мс. При распараллеливании операция сканирования разбивается на части и каждая часть разбирается отдельным обработчиком, после чего результаты работы каждого обработчика объединяются.
Годная, с одной стороны новость, а вот с другой... Распараллеливание GROUP BY, CASE и всего такого прочего - оно было бы совсем хорошо. Кто что думает, уважаемые коллеги?

параллельные вычисления, postgresql

Previous post Next post
Up