Всем доброго дня.
Столкнулся с такой проблемой
Есть база данных mysql 10+гб с которой при помощи php скрипт производятся подсчеты и результаты записываются в другую БД - которая в последствии занимает уже 70+гб
Расчеты производятся на сервере 8 ядер. Но занятых в подсчетах всего 1 ядро (точнее 2) 1 идет на выполнение скрипта (загрузка 30%) и 2 на базу данных (загрузка 100+%). Чтобы как то задействовать все ядра, я разбил php скрипт на 7 частей и запустил. Но ядро отвечающее за mysql загружено на максимум, а те что отвечают за скрипты 10-15%. Из за этого мои подсчеты занимают очень много времени ~20 часов.
Погуглив немного и пошаманив с настройками mysql, уменьшил время немного, но все равно в плане использования процессора не все ядра задействованы.
Разбираясь далее в проблеме нашел информацию что mysql не особо подходит для такого типа задач, поскольку не является многопоточной (или то что она не использует более 1 ядра процессора)
Предлагают использовать postgresql и greenplum (как я понял на базе той же postgresql) которые вроде как работают в многопоточном режиме
В них пока не особо разобрался - но хотел спросить знающих - сможет ли переход на использовние postgresql или greenplum помочь ускорить подсчеты и задействовать все ресурсы сервера, поскольку проскакивала мысля арендовать более мощный сервер - но если используется 1 ядро для обработки запросов к базе то смысла в этом немного.
Заранее спасибо.