Машины баз данных параллельной и ассоциативной архитектуры конспект

Обновлено: 07.07.2024

Структура памяти и адресация данных. Особенности модели проектируемой машины базы данных. Схема формирования адреса среза, поиска отмеченных строк и их ускоренной передачи. Структура управляющего процессора. Кодированная граф-схема операции MARK.NE.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 28.10.2011
Размер файла 677,2 K

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

Рязанская государственная радиотехническая академия

Машины баз данных

курсовой проект по дисциплине
“Организация ЭВМ и систем”
ст. гр. 140
Калинин Д.В.
Проверил:

1. Задание

1.1 Структура базы данных

Основную часть БД составляет таблица Tab1, содержащая 64 строки. Атрибуты БД описываются табл.1. В состав БД включена таблица Tab2, формируемая из Tab1 операцией селекции.

1.2 Выполняемые оп ерации

- последовательный (по адресам) - 4-байтовый.

1.4 Уточнение задания

Команда Selection (селекция) формирует таблицу Tab2 из строк Tab1, удовлетворяющей заданным условиям. Условие (ИМЯ C) выделяет строки, в которых атрибут ИМЯ, рассматриваемое как 14-байтовая(112-битная) строка символов.

Таким образом, операция Selection сводится к последовательности двух операций:

MARK.NE (ИМЯ , c[14]) - отметка записей , удовлетворяющих условию;

SEL (Tab2 , Tab1) marked - передача отмеченных строк из Tab1 в Tab2.

Таблица 1. Структура базы данных.

Десятичный целый без знака, упакованный (dec unsigned, packet)

Номер страхового свидетельства

Десятичный целый без знака, упакованный (dec unsigned, packet)

Двоичный целый без знака (Integer unsigned)

Десятичный целый без знака, неупакованный (dec unsigned, unpacket)

Двоичный целый со знаком в дополнительном коде (Integer signed)

2. Организация МБД

В качестве памяти МБД используется ассоциативное запоминающее устройство (АЗУ). АЗУ разделено на два блока АЗУ1 и АЗУ2 , допускающие независимое обращение. Каждый блок содержит 64 строки по 128 байта в каждой. В АЗУ1 размещается таблица Tab1 , в АЗУ2 - Tab2. Строка таблицы содержит 92 байтов. Остальные 36 могут использоваться как резервные.

При параллельном (ассоциативном) доступе каждый блок АЗУ рассматривается, как содержащее 736=2E0Н 1-битных среза по 64 бита в каждом. Адресом поля считается адрес старшего среза. При последовательном (адресном) доступе блоки АЗУ рассматриваются как состоящие из 64 строк по 32 4-байтовых слов в каждой. Адресом строки считается адрес её левого слова, адресом поля - адрес слова, в котором оно начинается. Поля могут пересекать границы слов. Строки таблиц Tab1 и Tab2 содержат по 92-байтов и считаются состоящими из 23-х слов .

Для АЗУ определены операции чтение среза Rds , запись среза Wrs , чтение слова Rdw , запись слова Wrw.

Для выполнения операций МБД , указанных в задании , используются для АЗУ1 чтение среза Rds1 , чтение слова Rdw1 , а для АЗУ2 - запись слова Wrw2. Обращение к АЗУ1 и АЗУ2 может происходить одновременно.

2.2 Структурная схема МБД

Структурная схема проектируемой МБД приведена на рис.1. В состав МБД входят два блока ассоциативной памяти АЗУ1 и АЗУ2 , управляющий процессор, схема адресации слов и срезов, 64 исполнительных процессора для поиска строк, удовлетворяющих заданным условиям , блок маркеров , включающий регистры маркеров MRK и HLP и вспомогательные элементы, схему поиска отмеченных строк СПОС, блок регистров слов PгW1 и PгW2, исполнительный процессор вычисления суммы ИП SUM.

На управляющий процессор из центрального процессора ЦП поступают коды операций, значения компарандов , адреса обрабатываемых полей (cрезов или слов) и сигнал СТАРТ. Из УП МБД в ЦП выдается сигнал “конец операции”.

Из УП на АЗУ поступают сигналы чтения срезов Rds, чтения слов Rdw и записи слов Wrw. На схему адресации поступают из УП начальные адреса слов и срезов. Кроме того, УП вырабатывает различные управляющие сигналы для исполнительных устройств МБД. Значение суммы из ИП SUM поступает в центральный процессор.

Рис.1 Структурная схема МБД

3. Разработка алгоритмов операций и исполнительных процессов

3.1 Поиск в диапазоне (MARK.DI)

SLE (М); /*поиск записей, удовлетворяющих условию Attr S[j].

Комбинационная схема описывается логическими выражениями:

Рис 3. Исполнительный процессор операций Mark.NE

rh = f3 v f2 v f1 v f0;

Rsth = rh v y6 v (m & y4);

Сигналы управления, а также сигналы чтения срезов, формирования адресов и др., вырабатываются управляющим процессором УП МБД.

3.5 Операция SEL

Операция заключается в передаче отмеченных строк Tab1 в Tab2.

Общий алгоритм операции:

LAddr2 := 0; /*начальные адреса строк Tab1,Tab2*/

For j:=0 to 63 do

Line MOV; /*передача строки*/

LAddr2 := LAddr2+1; /*инкремент адреса строки Tab2*/

LAddr1:=LAddr1+1; /*инкремент адреса строки Tab1*/

Здесь LAddr- 6-битный адрес строки. Полный адрес содержит 9 бит и состоит из адреса строки LAddr и счетчика 4-байтовых слов WC. Разрядность счетчика слов - 3 бита. Инкремент LAddr1 происходит в каждом такте, а инкремент LAddr2 - только в случае отмеченных строк.

Поиск отмеченных строк может быть выполнен путем сдвига MRK. Признаком отметки является бит MRK[j]=1. При переходе к следующей строке MRK сдвигается на 1 бит влево. При сдвиге стираются ставшие ненужными метки.

Поиск выполняется за 64 такта независимо от числа отмеченных строк. Его можно ускорить с помощью схемы, называемой “искатель самой левой единицы”, которая находит самую левую единицу в двоичной слове и возвращает двоичной код ее порядкового номера n. При большой длине слова искатель может быть введен для k его старших битов. При отсутствии единиц в группе вырабатывается сигнал NO_1.

Алгоритм операции SEL меняется следующим образом:

While (MRK ? 0) do

if NO_1 = 1 then do

LAddr1 := LAddr1 + k;

LAddr1 := LAddr1 + n;

LAddr1 := Laddr + 1;

LAddr2 := LAddr2 + 1

Рис. 5. Схема поиска отмеченных строк

Таблица 3: Описание схемы искателя

Схема поиска отмеченных строк СПОС приведены на рис.5. Выходы битов 0-7 MRK поступают на вход искателя ИСК. Код номера левой единицы n и сигнал NO_1 поступают на схему адресации и на управляющий вход с двигателя СДВ.

Искатель ИСК представляет собой логическую схему, описываемую таблицей 3 и логическими выражениями 1 и 2, где m0, m1, … , m7 - выходы старших битов MRK, а n1, n2, n3, NO_1 - выходы искателя.

M3 = m0 m1 m2 m3

M4 = m0 m1 m2 m3 m4

M5 = m0 m1 m2 m3 m4 m5 (1)

M6 = m0 m1 m2 m3 m4 m5 m6

M7 = m0 m1 m2 m3 m4 m5 m6 m7

M8 = m0 m1 m2 m3 m4 m5 m6 m7

n1 = M4 M5 M6 M7

n2 = M2 M3 M6 M7 (2)

n3 = M1 M3 M5 M7

Передача отмеченной строки происходит при NO_1 = 0, после чего находится следующая метка. При NO_1=1 MRK сдвигается на 8 бит влево, а передача строки не выполняется. Для получения адреса отмеченной строки к текущему адресу LAddr1 прибавляется значение n (n=0, 1, … , 7). При отсутствии отметок в старшем байте (NO_1=1) LAddr1 увеличивается на 8. Инкремент LAddr2 при этом не производится. При NO_1=0 после передачи строки LAddr1 и LAddr2 одновременно увеличиваются на 1.

Передача одного слова из Tab1 в Tab2 выполняется в 3 такта:

чтение слова W из Tab1;

запись W в Tab2;

инкремент счетчика слов WK.

Передача строки из 7-и слов занимает 21 такт. Ускорение передачи возможно при совмещении микроопераций чтения, записи и инкремента.

Для этого используются 4 счетчика слов WC1, WC2, WC3, WC4; 2 регистра слова РгW1, РгW2, а также средства для коммутации и модификации адресов и данных. Упрощенная схема ускоренной передачи строк приведена на рис. 6. На схеме показаны блоки памяти АЗУ1 и АЗУ2 с регистрами РгW1 и РгW2 и схемой адресации слов.

Выбор регистров слов для чтения или записи производится с помощью демультиплексора DMX и мультиплексора MX3. Схема адресации осуществляет выбор и модификацию адресов строк LAddr1 и LAddr2 и счетчиков слов WC1, WC2, WC3, WC4. Для формирования адреса очередной строки используется сумматор СМ, на один из входов СМ поступает сигнал NO_1 и код позиции отмеченной строки, формируемый схемой поиска отмеченной строки. Формирование и модификация адресов происходит по сигналам управляющего процессора (на схеме не показаны).

Схема работает в следующем порядке. После формирования адреса отмеченной строки и предварительной установки счетчиков

WC1:=0; WC2:=1; WC3:=0; WC4:=1;

Строка передается за 8 тактов:

Такт 1: РгW1 := АЗУ1[WC1]; /*чтение слова W0*/

Такт 2: РгW2 := АЗУ1[WC2]; /*чтение W1*/

АЗУ1[WC3] := РгW1; /*запись W0*/

WC1:= WC1+2; /*инкремент адреса чтения*/

Такт 3: РгW1 := АЗУ1[WC1]; /*чтение W2*/

АЗУ[WC4] := РгW2; /*запись W1*/

WC2 := WC2+2; /*инкремент адреса чтения*/

WC3 := WC3+2; /*инкремент адреса записи*/

Такт 4: РгW2 := АЗУ1[WC2]; /*чтение W3*/

АЗУ2[WC3] := РгW1; /*запись W2*/

WC1 := WC1+2; /*инкремент адреса чтения*/

WC4 := WC4+2; /*инкремент адреса записи*/

Такт 5: совпадает с тактом 3; /*чтениеW4, записьW3*/

Такт 6: совпадает с тактом 4; /*чтениеW5, записьW4*/

Такт 7: совпадает с тактом 3; /*чтениеW6, записьW5*/

Такт 8: АЗУ2[WC3] := РгW1; /*запись W6*/

На УП МБД из ЦП поступают коды операций, значения компарандов, адреса обрабатываемых полей (начальные адреса слов и срезов). В нашем случае выполняются всегда две операции Sel и Mark.NE над заранее известными полями, поэтому нет необходимости в указании адресов, а операции инициируются сигналом Start Sel. Компаранды C и D поступают из ЦП на внешнюю шину УП. Проектирование УП производится на основе кодированных граф - схем алгоритмов (ГСА) выполняемых операций. УП организован на базе микропрограммного автомата (МПА) с жесткой логикой, а именно МПА Мили.

4.1 Структура УП

В состав УП (рис.11) входят блок регистров БР и микропрограммный автомат с тактовым генератором ТГ. ТГ запускается сигналом Start из ЦП. На вход МПА поступают тактовые сигналы из ТГ и сигналы логических условий из исполнительных процессов. С выхода МПА снимаются две группы управляющих сигналов - внутренние для блока регистров и для ИП.

Кроме того, следует четко понимать различия, существующие между распределенными и параллельными СУБД.

Параллельная СУБД: Система управления базой данных, функционирующей с использованием нескольких процессоров и жестких дисков, что позволяет ей (если это возможно) распараллеливать выполнение некоторых операций с целью повышения общей производительности обработки.

Появление параллельных СУБД было вызвано тем фактом, что системы с одним процессором оказались не способны удовлетворять растущие требования к масштабируемости, надежности и производительности обработки данных. Эффективной и экономически обоснованной альтернативой однопроцессорным СУБД стали параллельные СУБД, функционирующие одновременно на нескольких процессорах. Применение параллельных СУБД позволяет объединить несколько маломощных машин для получения такого же уровня производительности, как и в случае одной, но более мощной машины, с дополнительным выигрышем в масштабируемости и надежности системы по сравнению с однопроцессорными СУБД.

Для предоставления нескольким процессорам совместного доступа к одной и той же базе данных параллельная СУБД должна обеспечивать управление совместным доступом к ресурсам. То, какие именно ресурсы разделяются и как это разделение реализовано на практике, непосредственно влияет на показатели производительности и масштабируемости создаваемой системы, что, в свою очередь, определяет пригодность конкретной СУБД к условиям заданной вычислительной среды и требованиям приложений. Три основных типа архитектуры параллельных СУБД представлены на рисунке ниже. К ним относятся:

  • системы с разделением памяти;
  • системы с разделением дисков;
  • системы без разделения вычислительных ресурсов.

Хотя параллельная система без разделения вычислительных ресурсов иногда рассматривается как распределенная СУБД, в такой системе распределение данных обусловлено лишь стремлением к повышению производительности. Более того, узлы распределенной СУБД обычно разделены географически, находятся под управлением разных администраторов и соединены между собой относительно медленными сетевыми соединениями, тогда как узлы параллельной СУБД чаще всего располагаются на одном и том же компьютере или в пределах одной и той же производственной площадки.

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

Системы с разделением дисков создаются из менее тесно связанных между собой компонентов. Они являются оптимальным вариантом для приложений, которые унаследовали высокую централизацию обработки и должны обеспечивать самые высокие показатели доступности и производительности. Каждый из процессоров имеет непосредственный доступ ко всем совместно используемым дисковым устройствам, но обладает собственной оперативной памятью. Как и в случае архитектуры без разделения вычислительных ресурсов, архитектура с разделением дисков исключает узкие места, связанные с совместно используемой памятью. Однако, в отличие от архитектуры без разделения вычислительных ресурсов, данная архитектура исключает упомянутые узкие места без внесения дополнительных издержек, связанных с физическим распределением данных по отдельным устройствам. Разделяемые дисковые системы иногда называют кластерами.

Архитектура систем баз данных с параллельной обработкой: а) с разделением памяти; б) с разделением дисков; в) без разделения

Системы без разделения вычислительных ресурсов (эту архитектуру иначе называют архитектурой с массовой параллельной обработкой) используют схему, в которой каждый процессор, являющийся частью системы, имеет свою собственную оперативную и дисковую память. База данных распределена между всеми дисковыми устройствами, подключенным к отдельным, связанным с этой базой данных вычислительным подсистемам, в результате чего все данные прозрачно доступны пользователям каждой из этих подсистем. Такая архитектура обеспечивает более высокий уровень масштабируемости, чем системы с разделяемой памятью, и позволяет легко поддерживать большое количество процессоров. Однако оптимальной производительности удается достичь только в том случае, если требуемые данные хранятся локально.




Параллельные технологии обычно используются в случае исключительно больших баз данных, размеры которых могут достигать нескольких терабайтов ( байт), или в системах, обеспечивающих выполнение тысяч транзакций в секунду. Подобные системы нуждаются в доступе к большому объему данных и должны обеспечивать приемлемое время реакции на запрос. Параллельные СУБД могут использовать различные вспомогательные технологии, позволяющие повысить производительность обработки сложных запросов за счет применения методов распараллеливания операций просмотра, соединения и сортировки, что позволяет нескольким процессорным узлам автоматически распределять между собой текущую нагрузку. В данный момент достаточно отметить, что все крупные разработчики СУБД в настоящее время поставляют параллельные версии созданных ими машин баз данных.

Кроме того, следует четко понимать различия, существующие между распределенными и параллельными СУБД.

Параллельная СУБД: Система управления базой данных, функционирующей с использованием нескольких процессоров и жестких дисков, что позволяет ей (если это возможно) распараллеливать выполнение некоторых операций с целью повышения общей производительности обработки.

Появление параллельных СУБД было вызвано тем фактом, что системы с одним процессором оказались не способны удовлетворять растущие требования к масштабируемости, надежности и производительности обработки данных. Эффективной и экономически обоснованной альтернативой однопроцессорным СУБД стали параллельные СУБД, функционирующие одновременно на нескольких процессорах. Применение параллельных СУБД позволяет объединить несколько маломощных машин для получения такого же уровня производительности, как и в случае одной, но более мощной машины, с дополнительным выигрышем в масштабируемости и надежности системы по сравнению с однопроцессорными СУБД.

Для предоставления нескольким процессорам совместного доступа к одной и той же базе данных параллельная СУБД должна обеспечивать управление совместным доступом к ресурсам. То, какие именно ресурсы разделяются и как это разделение реализовано на практике, непосредственно влияет на показатели производительности и масштабируемости создаваемой системы, что, в свою очередь, определяет пригодность конкретной СУБД к условиям заданной вычислительной среды и требованиям приложений. Три основных типа архитектуры параллельных СУБД представлены на рисунке ниже. К ним относятся:

  • системы с разделением памяти;
  • системы с разделением дисков;
  • системы без разделения вычислительных ресурсов.

Хотя параллельная система без разделения вычислительных ресурсов иногда рассматривается как распределенная СУБД, в такой системе распределение данных обусловлено лишь стремлением к повышению производительности. Более того, узлы распределенной СУБД обычно разделены географически, находятся под управлением разных администраторов и соединены между собой относительно медленными сетевыми соединениями, тогда как узлы параллельной СУБД чаще всего располагаются на одном и том же компьютере или в пределах одной и той же производственной площадки.

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

Системы с разделением дисков создаются из менее тесно связанных между собой компонентов. Они являются оптимальным вариантом для приложений, которые унаследовали высокую централизацию обработки и должны обеспечивать самые высокие показатели доступности и производительности. Каждый из процессоров имеет непосредственный доступ ко всем совместно используемым дисковым устройствам, но обладает собственной оперативной памятью. Как и в случае архитектуры без разделения вычислительных ресурсов, архитектура с разделением дисков исключает узкие места, связанные с совместно используемой памятью. Однако, в отличие от архитектуры без разделения вычислительных ресурсов, данная архитектура исключает упомянутые узкие места без внесения дополнительных издержек, связанных с физическим распределением данных по отдельным устройствам. Разделяемые дисковые системы иногда называют кластерами.

Архитектура систем баз данных с параллельной обработкой: а) с разделением памяти; б) с разделением дисков; в) без разделения

Системы без разделения вычислительных ресурсов (эту архитектуру иначе называют архитектурой с массовой параллельной обработкой) используют схему, в которой каждый процессор, являющийся частью системы, имеет свою собственную оперативную и дисковую память. База данных распределена между всеми дисковыми устройствами, подключенным к отдельным, связанным с этой базой данных вычислительным подсистемам, в результате чего все данные прозрачно доступны пользователям каждой из этих подсистем. Такая архитектура обеспечивает более высокий уровень масштабируемости, чем системы с разделяемой памятью, и позволяет легко поддерживать большое количество процессоров. Однако оптимальной производительности удается достичь только в том случае, если требуемые данные хранятся локально.

Параллельные технологии обычно используются в случае исключительно больших баз данных, размеры которых могут достигать нескольких терабайтов ( байт), или в системах, обеспечивающих выполнение тысяч транзакций в секунду. Подобные системы нуждаются в доступе к большому объему данных и должны обеспечивать приемлемое время реакции на запрос. Параллельные СУБД могут использовать различные вспомогательные технологии, позволяющие повысить производительность обработки сложных запросов за счет применения методов распараллеливания операций просмотра, соединения и сортировки, что позволяет нескольким процессорным узлам автоматически распределять между собой текущую нагрузку. В данный момент достаточно отметить, что все крупные разработчики СУБД в настоящее время поставляют параллельные версии созданных ими машин баз данных.

Для представления в машинах больших объемов данных используются технологии баз данных.До недавнего времени большинство машин баз данных включали в себя только один процессор.Интенсивные исследования в области параллельных машин были начаты в 80-х годах.Одно из них - дальнейшее развитие аппаратной архитектуры параллельных машин.Первые такие машины появились во второй половине 60-х годов ушедшего века.Рис.2. Параллельное выполнение запроса.Поэтому для параллельных машин баз данных проблема отказоустойчивости становится особенно важной.По направлению к базам данных.Сила и слабость параллельных систем.В конце второго тысячелетия человечество шагнуло из индустриальной эры в эру информационную.

(Если ссылка на скачивание файла не доступна - дайте нам знать об этом в комментариях либо через форму обратной связи)

Презентация на тему: " БАЗЫ ДАННЫХ часть II Параллельные архитектуры баз данных." — Транскрипт:

1 БАЗЫ ДАННЫХ часть II Параллельные архитектуры баз данных

2 Параллельные архитектуры БД Основные параллельные архитектуры

3 Фактически определились три архитектурных направления: Параллельные архитектуры БД 1.Симметричные многопроцессорные системы (SMP) - наиболее часто используемая форма сильносвязанных многопроцессорных систем, т.е. систем, разделяющих единую оперативную память и наиболее часто - дисковую подсистему. Общая память Диск CPU

4 2.Слабосвязанные многопроцессорные системы - совокупность самостоятельных компьютеров, объединенных в единую систему быстродействующей сетью и, возможно, имеющих общую дисковую подсистему, как, например, кластерные инсталляции; Параллельные архитектуры БД Узел 1Узел 2Узел 3 Общий диск

5 3.Системы с массовым параллелизмом (MPP) - системы с сотнями и даже тысячами процессоров, детали их реализации могут значительно различаться. Параллельные архитектуры БД CPU Диск Память CPU Диск Память CPU Диск Память …

6 Параллельные архитектуры БД Наиболее оптимальными с точки зрения стоимости и прозрачности наращивания можно считать симметричные многопроцессорные платформы (SMP). Добавление процессоров в них обходится относительно дешево, и при использовании соответствующих программ не требует изменения программного обеспечения или принципов администрирования, причем, начиная уже с однопроцессорных систем. Для более дорогостоящих и ответственных систем необходимый уровень резервирования может быть достигнут с помощью кластеров, в т.ч. состоящих из SMP-систем.

7 Параллельные архитектуры БД Можно выделить четыре группы требований, определяющих с технической точки зрения потребительские качества современной СУБД: 1.масштабируемость; 2.производительность; 3.возможность смешанной загрузки разными типами задач; 4.обеспечение постоянной доступности данных.

8 Масштабируемость - такое свойство вычислительной системы, которое обеспечивает предсказуемый рост системных характеристик при добавлении к ней вычислительных ресурсов. В случае сервера СУБД можно рассматривать два способа масштабирования - вертикальный и горизонтальный. При горизонтальном подходе увеличивается число серверов СУБД, возможно, взаимодействующих друг с другом в прозрачном режиме, разделяя таким образом общую загрузку системы. Параллельные архитектуры БД СУБД + Узел 1Узел 3Узел 2

9 При этом программное обеспечение сервера не должно изменяться, например, требовать дополнительных модулей, т.к. это увеличило бы сложность администрирования и ухудшило предсказуемость системы. Параллельные архитектуры БД CPU СУБ Д CPU + СУБ Д Вертикальное масштабирование подразумевает увеличение мощности отдельного сервера СУБД. Хорошим примером может служить увеличение числа процессоров в симметричных многопроцессорных (SMP) платформах.

10 Параллельные архитектуры БД Для вертикального масштабирования все чаще используются симметричные многопроцессорные системы (SMP), поскольку в этом случае не требуется смены платформы, т.е. операционной системы, аппаратного обеспечения, а также навыков администрирования. При оценке сервера СУБД на базе SMP платформы стоит обратить внимание на две основные характеристики расширямости архитектуры: адекватность и прозрачность.

11 Параллельные архитектуры БД Свойство адекватности требует, чтобы архитектура сервера равно поддерживала один или десять процессоров без переинсталляции или существенных изменений в конфигурации, а также дополнительных программных модулей. Приложение не должно учитывать подробности реализации аппаратной архитектуры - способы манипулирования данными и программный интерфейс доступа к базе данных обязаны оставаться одинаковыми и в равной степени эффективными (прозрачность).

12 Запросы могут обрабатываться последовательно несколькими задачами или разделяться на подзадачи, которые в свою очередь могут быть выполнены параллельно. Параллельные архитектуры БД Запрос 1 Параллельные транзакции Запрос 2 Запрос 3 CPU Запрос 1 Параллельные запросы Запрос 2 Запрос 3 CPU задача А задача Б задача В

13 Параллельные архитектуры БД Среди многих факторов, влияющих на производительность СУБД, рассмотрим два, имеющие прямое отношение к нынешним параллельным вычислительным платформам: 1.поддержка параллелизма; 2.реализация многопотоковой архитектуры

14 Параллельные архитектуры БД Одним из способов достижения более высокой производительности является использование алгоритмов распараллеливания заданий. В СУБД существует три области применения таких алгоритмов: 1.параллельный ввод/вывод; 2.параллельные средства и утилиты администрирования; 3.параллельная обработка запросов к базе данных.

15 Распараллеливание ввода/вывода в сочетании с оптимальным планированием заданий позволяет осуществить крайне эффективный одновременный доступ к фрагментированным таблицам и индексам, расположенным на нескольких физическим дисках. Параллельные архитектуры БД P1P2 PnPn Память … Соединительная сеть

16 Параллельные архитектуры БД Выполнение административных утилит (реорганизация данных, в т.ч. сортировки, построение индексов, загрузка и выгрузка данных, архивирование и восстановление баз данных) также должно быть полностью параллельным, включая распараллеливание операций ввода/вывода, хотя на практике это требует доработки лишь небольшого числа механизмов.

17 Теоретическим обоснованием возможности распараллеливания запросов в реляционной СУБД являются свойство реляционного замыкания. Параллелизм в обработке запросов подобен идее "разделяй и властвуй" или коллективному выполнению задания. Параллельные архитектуры БД

18 Достижение этой цели требует, чтобы декомпозиция и параллельное выполнение запроса были осуществимы независимо от средств межзадачного взаимодействия, принятых в конкретной вычислительной системе. Создание множества тиражируемых копий одной атомарной операции, одновременно выполняющих одну и ту же задачу, можно назвать горизонтальным параллелизмом.

19 Дополнительная степень параллелизма - вертикальный параллелизм - может быть достигнута при параллельном запуске нескольких, в общем случае различных атомарных операций, которые обычно должны были бы выполняться последовательно. Такой подход, во многом сходный с конвейерной обработкой в современных процессорах, носит название "потока данных" (data flow) или "управления по требованию" (demand driven). Параллельные архитектуры БД

21 Способ организации одновременной обработки множества запросов внутри сервера баз данных при минимальных накладных расходах на переключение контекста и максимальном разделении вычислительных ресурсов между ними называется истинно многопотоковой архитектурой. Поток (thread) - это фрагмент контекста одного процесса, включающий только те данные (стек рабочих переменных и текущего состояния), которые необходимы для реализации выполняемых потоком функций.

22 Параллельные архитектуры БД Процесс 1 CPU Процесс 2Процесс n CPU … Операционная система

23 Параллельные архитектуры БД Эволюция в области информационных систем все отчетливее направлена в сторону объединения трех видов задач: оперативной обработки транзакций (OLTP), поддержки принятия решений (DSS) и пакетной обработки (batch processing). Одновременное исполнение задач смешанного характера, разделяющих общие вычислительные ресурсы и базы данных, называется "оперативной сложной обработкой данных" (OLCP - On Line Complex Processing).

24 Параллельные архитектуры БД Основные факторы реализации универсальной системы со смешанной загрузкой можно определить как: 1.оптимизация запросов; 2.эффективное управление ресурсами; 3.параллельная обработка запросов.

25 Параллельные архитектуры БД Оптимальное управлении ресурсами требует поддержки прозрачности доступа к ресурсам в целом и эффективного использования каждого ресурса в отдельности. Один из наиболее важных ресурсов - оперативная память. Оптимальное управление распределением памяти настолько же критично для производительности системы, как и уменьшение загрузки ОС.

26 Параллельные архитектуры БД Приложения СУБД используют разделяемую память для сохранения контекста подключения, а также кэширования запросов и результатов. … Кэш-область Системная область, область коммуникаций Разделяемая память Динамическая область обслуживания потоков и обработки запросов

27 Параллельные архитектуры БД Основные моменты, обеспечивающие постоянную готовность современных СУБД можно определить, как: 1.оперативное администрирование; 2.функциональная насыщенность СУБД.

28 Параллельные архитектуры БД Утилиты администрирования в идеале призваны поддерживать бесперебойное функцинирование СУБД, что подразумевает сведение к минимуму планируемых или сбойных простоев системы. Оперативное параллельное восстановление базы данных. Том 1 on-line Том 2 on-line Том 3 on-line Том 4 on-line База данных Архив тома 2 Архив тома 4

29 Параллельные архитектуры БД Общим термином "функциональная насыщенность" можно определить множество механизмов, используемых серверами баз данных (а) для уменьшения последствий системных сбоев и (б) для повышения прозрачности доступа к дублированным данным при нормальном функционировании. Теоретически отказоустойчивая СУБД обязана обеспечивать доступ к данным по чтению и записи независимо от обстоятельств, будь то сбой аппаратной платформы или какого-то компонента СУБД.

30 Параллельные архитектуры БД Системы, обеспечивающие непрерывный доступ к данным (fault tolerant) или почти непрерывный (high availability), обычно опираются на различные формы избыточности. Как правило, это системы дублирования аппаратного обеспечения и контролируемой избыточности данных. Один из вариантов - зеркалирование дисков: Основной диск Зеркальный диск База данных чтение/запись только чтение

Читайте также: