Параллельная система баз данных стремится повысить производительность за счет распараллеливания различных операций, таких как загрузка данных, построение индексов и оценка запросов. [1] Хотя данные могут храниться распределенным образом, их распределение регулируется исключительно соображениями производительности. Параллельные базы данных повышают скорость обработки и ввода-вывода за счет параллельного использования нескольких процессоров и дисков. Централизованные и клиент-серверные системы баз данных недостаточно мощны для работы с такими приложениями. При параллельной обработке многие операции выполняются одновременно, в отличие от последовательной обработки, при которой вычислительные этапы выполняются последовательно. Параллельные базы данных можно условно разделить на две группы, первая группа архитектуры — это многопроцессорная архитектура, альтернативами которой являются следующие:
- Архитектура с общей памятью
- Когда несколько процессоров совместно используют пространство основной памяти (ОЗУ), но каждый процессор имеет свой собственный диск (HDD). Если одновременно запускается много процессов, скорость снижается, так же, как у компьютера, когда выполняется много параллельных задач, и компьютер тормозит.
- Архитектура с общим диском
- Каждый узел имеет свою собственную основную память, но все узлы совместно используют запоминающее устройство, обычно сеть хранения данных . На практике каждый узел обычно также имеет несколько процессоров.
- Архитектура без общего доступа
- Где каждый узел имеет собственное запоминающее устройство, а также основную память.
Другая группа архитектур называется гибридной архитектурой и включает в себя:
- Неоднородная архитектура памяти (NUMA), которая предполагает неравномерный доступ к памяти .
- Кластер (ничего общего + общий диск: SAN/NAS), который формируется группой подключенных компьютеров.
В этом случае для соединения разных компьютеров используются коммутаторы или концентраторы. Это самый дешевый и простой способ, для соединения разных компьютеров используются только простые топологии. гораздо умнее, если реализованы переключатели .
Виды параллелизма
- Внутризапросный параллелизм
- Один запрос, который выполняется параллельно с использованием нескольких процессоров или дисков. [2]
- Независимый параллелизм
- Выполнение каждой операции индивидуально на разных процессорах только в том случае, если они могут выполняться независимо друг от друга. Например, если нам нужно объединить четыре таблицы, то две можно объединить на одном процессоре, а две другие — на другом процессоре. Окончательное присоединение можно выполнить позже.
- Параллельность облицовки труб
- Выполнение различных операций по конвейерному принципу. Например, если нам нужно соединить три таблицы, один процессор может объединить две таблицы и отправить записи набора результатов по мере их создания другому процессору. В другом процессоре третью таблицу можно объединить с входящими записями и получить окончательный результат.
- Внутриоперационный параллелизм
- Выполнение отдельных сложных или больших операций параллельно на нескольких процессорах. Например, предложение ORDER BY запроса, который пытается выполнить на миллионах записей, можно распараллелить на нескольких процессорах.
Рекомендации
- ^ Девитт, Дэвид ; Грей, Джим (1992). «Параллельные системы баз данных: будущее высокопроизводительных систем баз данных» (PDF) . Коммуникации АКМ . 35 (6): 85. CiteSeerX 10.1.1.119.8427 . дои : 10.1145/129888.129894.
- ^ Кандасами, Сараванакумар. «Параллельная база данных — внутризапросный параллелизм — расширенная система управления базами данных». Блогер . Проверено 10 сентября 2017 г.