КР (954217), страница 12
Текст из файла (страница 12)
Таблица 31. Затраты на создание и поддержку репликации БД.
Узел | БД1 | БД2 | БД3 | БД4 | БД5 | БД6 | БД7 | БД8 | БД9 | БД10 |
У2 | 130 | 16 | 49 | 13 | ||||||
У3 | 32 | 298 | 47 | 102 | 35 | 114 | 23 | 84 | ||
У4 | 44 | 210 | 445 | 43 | 89 | 112 | 133 | 240 | 22 | 108 |
У5 | 7 | 136 | 20 | 43 | 92 | 5 | 42 | |||
У6 | 23 | 175 | 553 | 104 | 151 | 85 | 200 | 17 | 32 | |
У7 | 9 | 260 | 26 | 87 | 126 | 20 | 57 |
Таким образом, получены исходные данные для варианта с репликациями,
показывающие затраты на создание и поддержку репликации БД при помещении ее в соответствующий узел
Задача размещения репликаций баз данных в узлах сети решается при фиксированном размещении самих баз данных в сети. Эта задача оптимального размещения баз данных по узлам была решена ранее.
Введение в систему репликаций необходимо для снижения сетевого трафика. При этом затраты на создание и поддержание реплик не должны превышать сетевых затрат на передачу данных от процесса к базе данных при отсутствии реплики, иначе введение реплик будет совершенно не рациональным. Таким образом, для определения целесообразности установки на данном узле реплики БД, надо посчитать разность затрат на обслуживание запросов от процессов в узле к базе данных при отсутствии и при наличии реплики.
Естественно, что установка реплики в узел, где размещается сама база данных, нецелесообразна. Поэтому будем исключать из расчета узлы сети, где уже есть база данных для размещаемой реплики.
Подготовим данные о затратах при отсутствии репликации. Для этого несколько модифицируем таблицу 12. Во-первых, мы просуммируем данные по процессам в каждом узле для каждой базы данных, во-вторых, обнулим значения в тех клеточках таблицы, которые соответствуют размещению базы данных в узле (для первого варианта оптимального размещения).
Таблица 32. Стоимость обращения к узлу, где находится БД, при отсутствии реплик.
Узел | БД1 | БД2 | БД3 | БД4 | БД5 | БД6 | БД7 | БД8 | БД9 | БД10 |
У2 |
|
| 440 | 60 | 165 |
|
|
| 40 |
|
У3 |
|
| 740 |
| 245 | 150 | 400 |
| 60 |
|
У4 | 130 | 350 |
| 120 | 245 | 250 | 400 | 400 | 60 | 320 |
У5 | 30 |
| 500 | 60 | 155 |
|
|
| 20 | 180 |
У6 | 100 |
| 740 | 120 | 165 |
|
|
| 40 | 140 |
У7 | 30 |
| 740 | 60 |
|
| 400 |
|
| 180 |
Таблица 33. Стоимость содержания реплики базы данных в узле.
Узел | БД1 | БД2 | БД3 | БД4 | БД5 | БД6 | БД7 | БД8 | БД9 | БД10 |
У2 |
|
| 130 | 16 | 49 |
|
|
| 13 |
|
У3 |
|
| 298 |
| 102 | 35 | 114 |
| 23 |
|
У4 | 44 | 210 |
| 43 | 89 | 112 | 133 | 240 | 22 | 108 |
У5 | 7 |
| 136 | 20 | 43 |
|
|
| 5 | 42 |
У6 | 23 |
| 553 | 104 | 151 |
|
|
| 17 | 32 |
У7 | 9 |
| 260 | 26 |
|
| 126 |
|
| 57 |
После этого составим таблицу 19, элементы которой покажут для каких БД целесообразно создавать реплики и в каких узлах эти реплики следует размещать. Каждый элемент этой таблицы должен быть равен разности соответствующих элементов таблиц 17 и 18.Реплики БД следует ставить в те узлы, которым соответствует положительное значение элемента таблицы 19.
С помощью этой таблицы можно также определить первоочередность включения реплик БД в узлы распределенной системы. В первую очередь следует создавать реплики тех БД и размещать их в те узлы, чтобы выгода от этого была наибольшей, т.е. суммарное количество обращений ко всем БД было как можно меньше.
Таблица 34. Данные о целесообразности создания и размещения реплик БД.
Узел | БД1 | БД2 | БД3 | БД4 | БД5 | БД6 | БД7 | БД8 | БД9 | БД10 |
У2 |
|
| 310 | 44 | 116 |
|
|
| 27 |
|
У3 |
|
| 442 |
| 143 | 115 | 286 |
| 37 |
|
У4 | 86 | 140 |
| 77 | 156 | 138 | 267 | 160 | 38 | 212 |
У5 | 23 |
| 364 | 40 | 112 |
|
|
| 15 | 138 |
У6 | 77 |
| 187 | 16 | 14 |
|
|
| 23 | 108 |
У7 | 21 |
| 480 | 34 |
|
| 274 |
|
| 123 |
Считаем, что в исходном состоянии без использования репликаций, базы данных размещаются оптимально в соответствии с вариантом 1, приведенным в таблице 12.
Дальнейшая оптимизация работы базы данных предусматривает уменьшение суммарного количества обращений ко всем БД за счет создания реплик БД Рассматриваем следующие варианты создания реплик:
-
Вариант 1а - создаем только одну реплику для той БД, которая дает наибольший выигрыш в уменьшении суммарного количества обращений ко всем БД..
-
Вариант 1б - создаем три реплики для тех БД, которые дают наибольший выигрыш в уменьшения суммарного количества обращений ко всем БД в сети.
-
Вариант 1в - создаем только одну реплику для каждой БД
-
Вариант 1а
Создаем только одну реплику для той БД, которая дает наибольший выигрыш в уменьшении суммарного количества обращений ко всем БД..