stringtranslate.com

Параллельная база данных

Параллельная система баз данных стремится повысить производительность за счет распараллеливания различных операций, таких как загрузка данных, построение индексов и оценка запросов. [1] Хотя данные могут храниться распределенным образом, их распределение регулируется исключительно соображениями производительности. Параллельные базы данных повышают скорость обработки и ввода-вывода за счет параллельного использования нескольких процессоров и дисков. Централизованные и клиент-серверные системы баз данных недостаточно мощны для работы с такими приложениями. При параллельной обработке многие операции выполняются одновременно, в отличие от последовательной обработки, при которой вычислительные этапы выполняются последовательно. Параллельные базы данных можно условно разделить на две группы, первая группа архитектуры — это многопроцессорная архитектура, альтернативами которой являются следующие:

Архитектура с общей памятью
Когда несколько процессоров совместно используют пространство основной памяти (ОЗУ), но каждый процессор имеет свой собственный диск (HDD). Если одновременно запускается много процессов, скорость снижается, так же, как у компьютера, когда выполняется много параллельных задач, и компьютер тормозит.
Архитектура с общим диском
Каждый узел имеет свою собственную основную память, но все узлы совместно используют запоминающее устройство, обычно сеть хранения данных . На практике каждый узел обычно также имеет несколько процессоров.
Архитектура без общего доступа
Где каждый узел имеет собственное запоминающее устройство, а также основную память.

Другая группа архитектур называется гибридной архитектурой и включает в себя:

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

Виды параллелизма

Внутризапросный параллелизм
Один запрос, который выполняется параллельно с использованием нескольких процессоров или дисков. [2]
Независимый параллелизм
Выполнение каждой операции индивидуально на разных процессорах только в том случае, если они могут выполняться независимо друг от друга. Например, если нам нужно объединить четыре таблицы, то две можно объединить на одном процессоре, а две другие — на другом процессоре. Окончательное присоединение можно выполнить позже.
Параллельность облицовки труб
Выполнение различных операций по конвейерному принципу. Например, если нам нужно соединить три таблицы, один процессор может объединить две таблицы и отправить записи набора результатов по мере их создания другому процессору. В другом процессоре третью таблицу можно объединить с входящими записями и получить окончательный результат.
Внутриоперационный параллелизм
Выполнение отдельных сложных или больших операций параллельно на нескольких процессорах. Например, предложение ORDER BY запроса, который пытается выполнить на миллионах записей, можно распараллелить на нескольких процессорах.

Рекомендации

  1. ^ Девитт, Дэвид ; Грей, Джим (1992). «Параллельные системы баз данных: будущее высокопроизводительных систем баз данных» (PDF) . Коммуникации АКМ . 35 (6): 85. CiteSeerX  10.1.1.119.8427 . дои : 10.1145/129888.129894.
  2. ^ Кандасами, Сараванакумар. «Параллельная база данных — внутризапросный параллелизм — расширенная система управления базами данных». Блогер . Проверено 10 сентября 2017 г.