Что такое массовая параллельная обработка (MPP)? - PullRequest
1 голос
/ 06 июня 2010

С тех пор, как Microsoft представила версию sql-сервера с кодовым названием "Madison", массово-параллельная обработка (MPP) стала очевидной.Что это такое и как от этого выиграет sql-сервер?

Какое отношение имеет параллельная обработка данных к массивно-параллельной обработке (MPP)?

Ответы [ 3 ]

1 голос
/ 06 июня 2010

Вики-запись определяет массово параллельные вычисления как:

Массивная параллельная обработка (MPP) является термин, используемый в компьютерной архитектуре для обратитесь к компьютерной системе со многими независимые арифметические единицы или целые микропроцессоры, которые работают параллельно. Термин массивный означает сотни, если не тысячи таких единиц. Рано примерами такой системы являются Процессор распределенных массивов, Goodyear MPP, Соединительная Машина, и Ультракомпьютер.

SQL Server получит такую ​​же выгоду, как и раньше, выполняя определенные шаги запроса параллельно. НО только сравнительно небольшой класс алгоритмов может использовать преимущества массивно параллельных вычислений; ускорение не увеличивается линейно с добавлением большего количества ядер. Хороший пример того, где его можно использовать, - это когда таблицы разбиваются на отдельные хранилища с возможностью поиска, например, на диапазон дат.

1 голос
/ 06 июня 2010

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

В Teradata магией, которая делает возможным разделение, является ПЕРВИЧНЫЙ ИНДЕКС. Это определяет, на каком AMP хранятся данные. Запрос распространяется на все AMP, и они возвращают данные, которые затем объединяются. Производительность снижается, когда наблюдается перекос, и данные должны быть перераспределены из AMP, где они находятся, в AMP, который нуждается в них для обработки.

Таким образом, система межпроцессного взаимодействия, процессор запросов и система хеширования являются ключевыми компонентами системы такого типа.

Во многих случаях массово-параллельный подход хорошо работает, когда данные совместно используют очень похожие первичные индексы (миллионы клиентов, миллионы счетов клиентов, миллионы событий потока кликов клиентов). Это отлично подходит для большого класса проблем, потому что вещи часто делятся на клиентов, или по дате, или что-то подобное.

Сбой, когда вы имеете дело с такими вещами, как звездные схемы в стиле Кимбалла или пытаетесь перемещаться по очень сложной модели 3NF в одном запросе. В этих случаях вам лучше создавать промежуточные временные или изменчивые таблицы и указывать первичный индекс, чтобы данные хорошо распределялись по AMP и сопоставлялись с тем, к чему вы собираетесь присоединиться при следующем соединении. Или переоборудовать свой склад.

В системах MPP добавление емкости включает добавление памяти, хранилища и обработки одновременно, что обеспечивает довольно хорошую масштабируемость.

1 голос
/ 06 июня 2010

Это возможность перенести работу на другой компьютер, а не просто на другое ядро ​​на одном компьютере. Так что, если у вас есть 4 сервера по 64 ядра, вы можете подключиться к 256 ядрам

И IIRC, вы не можете не установить это самостоятельно, вам нужно купить предварительно сконфигурированную систему, в итоге вы получаете стойку компьютеров

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...