Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги2 / монография 31

.pdf
Скачиваний:
1
Добавлен:
10.05.2024
Размер:
3.71 Mб
Скачать

широкие возможности для создания на их основе распределенных баз дынных (РБД) и распределенных систем обработки данных различного масштаба и назначения.

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

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

9

ГЛАВА 2. МЕТОДЫ РЕАЛИЗАЦИИ РЕПЛИКАЦИИ ДАННЫХ

ВРАСПРЕДЕЛЕННЫХ ИНФОРМАЦИОННЫХ СИСТЕМАХ

Кработе распределенных систем предъявляется много различных требований, среди которых наиболее важными являются следующие:

­высокий уровень надежности работы отдельных компонент и всей системы в целом,

­достаточные возможности для гибкого масштабирования системы,

­среднее время получения доступа к данным, не превышающее максимально допустимое значение,

­уровень сохранности данных, используемых в системе, удовлетворяющий установленным требованиям.

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

Метод репликации массивов данных это один из самых эффективных методов использования информационной избыточности в распределенных системах. В контексте данной работы под массивом данных будут пониматься следующие объекты: файлы данных (с индексами или без них), таблицы РБД, горизонтальные и/или вертикальные фрагменты таблиц РБД [18].

Выделяют следующие основные причины использования реплик в распределенных системах [19,20].

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

10

то запросы к данным этого массива можно переадресовать в другие находящиеся в работоспособном состоянии узлы, в которых размещены реплики того же массива данных.

Вторая причина использования реплик в распределенных системах – возможность повышения производительности системы путем распределения потоков запросов по нескольким узлам системы с репликами необходимого массива данных.

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

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

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

­ценности информации, подлежащей репликации,

­интенсивности и сложности запросов к данным,

­размера бюджета, который может быть выделен на внедрение и поддержку технологии репликации и синхронизации данных,

­характеристик компьютерной сети, на базе которой функционирует распределенная система.

11

2.1. Методы оптимального размещения реплик

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

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

­стоимостные затраты на синхронизацию данных нескольких экземпляров реплики одного массива данных, размещенных в нескольких узлах сети;

­затраты на приобретение и эксплуатацию систем хранения данных [21,22] для хранения реплик массивов данных в узлах системы,

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

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

В более ранних научных работах и в работах последних лет [18

–25] можно найти много разнообразных формальных моделей и алгоритмов поиска оптимального размещения в узлах распределенных систем реплик данных. Среди этого разнообразия моделей и алгоритмов, тем не менее, можно выделить много работ, которые используют похожую постановку задачи. Цель задачи заключается в том, что среди множества из N узлов распределенной системы необходимо найти M (M<N) таких узлов системы

12

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

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

Среди множества методов решения задач размещения реплик массивов данных в РСОД выделяют две большие группы методов решения задач поиска оптимальных вариантов размещения реплик в распределенных системах.

Первую группу методов составляют статические методы размещения реплик данных. Во вторую группу методов включают динамические методы размещения реплик [26].

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

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

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

13

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

2.2. Группа методов статического размещения реплик

Рассмотрим несколько примеров использования статических методов поиска размещения реплик в распределенных системах. В данных методах делается предположение о статичности параметров работы распределенных систем.

В первом примере приводится метод сегментирования узлов компьютерной сети с целью последующего размещения реплик в полученных сегментах сети [27]. В своей работе авторы определяют сегмент или кластер узлов как некоторое подмножество узлов, которые для обработки возникающих в них запросов к данным используют одни и те же реплики массивов данных. Кроме того, обмен сообщениями между узлами одного сегмента происходит с минимальной задержкой времени.

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

Затем, на втором этапе решения задачи в каждом из найденных кластеров одному из узлов этого кластера присваивается роль сервера реплик для остальных узлов кластера. Такой узел – сервер реплик будет выполнять следующие задачи: 1) обеспечивать хранение реплик данных и непротиворечивость данных в этих репликах, 2) обрабатывать запросы, генерируемые в узлах кластера к данным реплик, хранящимся в узле-сервере.

14

Представленный метод имеет относительно небольшую вычислительную сложность: ( × { ( ), }).

Вданном методе предполагается, что все узлы распределенной системы находятся в m-мерном пространстве. Это пространство делится на M ячеек, имеющих одинаковый размер. В результате каждая такая ячейка — это m-мерный гиперкуб. В случае двумерного пространства ячейка будет представлена квадратом.

Вкаждой из этих M ячеек отбирается один узел для выполнения роли сервера реплик для других узлов ячейки.

Размеры этих M ячеек имеют решающее значение для оптимального отбора тех из них, в которых будут размещаться серверы реплик. Это факт объясняется, тем, что если, например, ячейки будут иметь очень большой размер, то в каждой из таких ячеек может разместиться одновременно несколько кластеров. А так в одной ячейке может иметься только один сервер реплик, то одного сервера может быть недостаточно для эффективной обработки запросов к данным реплик, генерируемых во всех узлах всех кластеров данной ячейки.

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

На рисунке ниже показаны два примера распределения кластеров большого и маленького размера по ячейкам системы.

15

Рис. 2.1. Два примера распределения кластеров по ячейкам

2.3. Группа методов динамического размещения реплик

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

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

По этой причине появились работы, в которых предлагались механизмы адаптации функционирования распределенных информационных систем к изменяющимся условиям их работы. В частности, во многих работах рассматривались задачи оптимизации миграции реплик между узлами распределенной системы для ее адаптации к изменившимся условиям функционирования [26–28]. В

16

результате перераспределения экземпляров реплик между узлами системы происходит оптимизация нагрузки на узлы с репликами.

В обобщенном виде в перечисленных выше работах балансировка загрузки узлов сети происходит по следующей примерной схеме:

1.Во время работы распределенной системы собирается статистика запросов к фрагментам данных (это может быть, например, массив данных или фрагмент таблицы базы данных), расположенных в разных узлах сети.

2.Периодически проводится анализ собранной статистики. Анализ статистики может проводиться и при возникновении некоторых событий в системе (например, изменение конфигурации компьютерной сети – добавлен или отключен сегмент сети, или возник новый источник запросов).

3.Если в результате анализа статистических данных выясняется, что значения одного или нескольких счетчиков превысили заданные пределы значений, то ищется оптимальный вариант изменения конфигурации системы путем перемещения/миграции/создания новых или удаления тех или иных фрагментов данных.

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

Управление самим процессом миграции может производиться централизовано или децентрализовано. Либо используется третий вариант управления - смешанный вариант, когда сеть делится на несколько сегментов – групп узлов, а миграция происходит внутри группы и управляется централизованно одним из узлов каждой такой группы [29].

Для оптимального использования метода динамической репликации необходимо ответить на три важных вопроса:

17

­какие узлы системы будут играть роль серверов реплик (т.е. будут хранить реплики массивов данных и обрабатывать поступающие запросы к данным, генерировать ответы на запросы и пересылать ответы в соответствующие системы),

­когда, в какой оптимальный момент работы системы нужно создавать дополнительные реплики, и в каких узлах системы их размещать,

­когда и при каких условиях можно удалять те реплики, надобность в которых отпала.

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

­Динамическая репликация массивов данных в распределенных системах, имеющих изменяющиеся параметры работы.

­Динамическая репликация фрагментов таблиц данных в распределенных информационных системах.

­Динамическая репликация данных в мобильных беспроводных сетях с произвольной структурой MANET.

18

Соседние файлы в папке книги2