Использование мощности кластеров в контексте баз данных?

У меня есть 22 машинный кластер с общим монтированием NFS. На каждой машине я могу запустить новый экземпляр MySQL. Я закончил создание таблицы с примерно 71 миллионом записей и начал операцию ADD INDEX . Прошло более 12 часов, и операция все еще продолжается. Итак, что я запустил на одну из моих других машин в кластере, запустил новый экземпляр для демона MySQL на этой машине, используя:

 mysqld_safe --user=username 

А затем создал клиент MySQL на одном компьютере для подключения к базе данных. Проблема в том, что я использую точный оператор, который я использовал для запуска клиента на первом компьютере:

 mysql --socket=/homes/username/mysql/mysql/tmp/mysql.sock -u root -p 

Я могу видеть все базы данных и таблицы от этого клиента, как ожидалось (из-за основного монтирования NFS). Теперь, если я хочу создать новую таблицу или изменить таблицу (отличную от той, в которой сейчас добавляется индекс), у меня есть два вопроса:

  1. Это даже правильный способ использования кластера? Вернее, если предположить, что у меня есть значительная задача для интеллектуального анализа данных, я могу настроить MySQL (без привилегий root для кластера), чтобы ускорить задачу?
  2. Утверждение, которое я использовал для подключения к mysql, использует тот же самый файл mysql.sock, что и первая машина. Каковы последствия этого? Я имею в виду, я в конце концов столкнусь с какими-то странными ситуациями?
  3. Будет ли у меня какое-либо увеличение производительности или я в конечном итоге замедляю операцию индексирования, которая происходит на другой машине?

Это не будет работать стабильно. Mysqld не создан для этого. Кроме того, накладные расходы NFS не являются благоприятными.

Вероятно, вам нужно создать кучу подчиненных экземпляров mysqld и распараллелить доступ к вашему клиенту.