Параллельное выполнение операций в БД
СУБД Oracle одна из первых претендовала на то, чтобы запускаться на компьютере в нескольким числом процессоров. Если ОП Windows от Microsoft обещают только к 2010 году сделать такой чтобы она учитывала наличие 2-ух процессоров и распределяла нагрузку от одного процессора, то СУБД Oracle уже давно определяет количество процессоров и может перераспределить сама нагрузку на разные процессоры. Особенно это касается операторов выборки данных, удаления записей, обновление записей и т.д. особенно тогда когда надо загружать индексы и основную базу данных, либо когда запрос выполняется на одном процессоре под запросом другого и т.д.
Таким образом, для индексации страниц может быть задействован в СУБД Oracle второй процессор, т.о. экономиться существенно время, ускоряются сортировки, упорядочивания и т.д.
Параллельные СУБД
Под параллельными СУБД понимается СУБД, которые могут функционировать с использование нескольких процессоров и нескольких жестких дисков, что позволяет распараллеливать выполнение некоторых операций, что используется для повышения производительности обработки данных.
Подразделяют несколько типов параллельных СУБД:
1.системы с разделением памяти;
2.системы с разделение дисков;
3.системы без разделения;
Системы с разделением памяти (Их называют симметричная много процессорная обработка СМП)
Т.е. несколько процессоров используют одну общую память это называется СМП.
Эта архитектура приняла в настоящие время большую популярность и применяется как на PC станциях, Risk системах, крупных MainFrain и т .д. Обычно считается что все более или менее прилично работает когда число процессоров не менее 64.
Системы с разделение дисков (называемые так же кластерами)
Кластеры (разделение дисков) считаются оптимальными для приложений, в которых необходимо обеспечить высокий уровень доступности и производительности. В такой архитектуре каждый процессор имеет свою оперативную память, но все вместе имеют доступ к совместным дисковым устройствам.
Oracle поддерживает кластерные технологии с применение дополнительного пакета OPS (Oracle Parallel Server). Т.е. чтобы использовать это надо установить дополнительный пакет. Доступ обеспечивается с помощью нескольких экземпляров.(об экземпляре в Oracle говорилось на одной из первых лекций: 500Кб памяти на экземпляр, 5Кб на каждого следующего пользователя и т.д.)
Системы без разделения
Иногда их называют массовой параллельной обработкой. В этом случае каждый процессор имеет свою оперативную, дисковую память. В этом случае база данных распределена между всеми дисковыми устройствами. Такая архитектура обеспечивает более высокий уровень масштабируемости, о оптимальная производительность будет тогда когда данные будут вместе, т.е. они будут на кластере.
Распределенность снижает производительность.
Параллельные СУБД могут использовать большое число вспомогательных технологий, которые позволяют повысить производительность обработки сложных запросов за счет применения технологии распараллеливания, таких операций как соединение, сортировки и т.д.