В библиотеку

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

Баранова С.С.
Донецкий национальный технический университет

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

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

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

Значительный вклад в построение математических моделей РБД внес Г.Г. Цегелик. Основным недостатком этих моделей, является то, что они построены со значительным упрощением. Они не учитывают динамику процессов, происходящих в РБД. Кроме того, не учитывается важная особенности функционирования РБД – фрагментация данных. Это связано со сложностью моделирования таких объектов, как РБД, при помощи аналитических моделей.

Современный подход к поиску оптимального распределения данных – объектная модель динамической оптимизации распределения данных [1]. Подход основан на совместном использовании аппарата генетических алгоритмов и объектной модели РБД. Схема распределения фрагментов данных по узлам РБД кодируется в виде набора хромосом. В процессе оптимизации с помощью операторов ГА генерируются хромосомы, то есть схемы распределения данных. Полученные схемы являются исходной информацией для объектной модели, с помощью которой вычисляются оценки критерия эффективности РБД. Эти оценки, в свою очередь являются значениями целевой функции ГА для данного варианта решения. Входными данными для моделирования и оптимизации является статистика использования запросов и распространения обновлений, а результатом – модифицированная схема распределения данных. В качестве критерия эффективности выбрано минимальное суммарное среднее время выполнения запросов и распространения обновлений. Данная модель является динамической, учитывает фрагментацию и репликацию данных, то есть лишена недостатков предыдущей модели. Но она не учитывает особенности реализации распределенной обработки в конкретной СУБД.

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

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

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

Эта модель имеет недостатки: она не учитывает наличие механизма обновлений. Однако то, что она рассматривает особенности функционирования конкретной СУРБД, позволит получить схему распределения данных, более точно соответствующую реальной среде

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

Итак, мы выбираем модель, предложенную в работе [2]. Применение этой модели, учитывающей особенности функционирования конкретной СУБД, позволит получить оптимальную схему распределения. В качестве среды выбираем СУБД Oracle. Для адаптации исходной модели к выбранной СУБД требуется изучить особенности реализации распределенных запросов и распространения обновлений в Oracle.

Литература

1. Телятников А.О. Разработка объектной модели распределенной базы данных// Наукові праці ДонНТУ. Випуск 74. – Донецьк, ДонНТУ, 2004. – с. 192 – 200.
2. I. Ahmad, K. Karlapaem. Evolutionary Algorithms for Allocating Data in Distributed Database Systems. // Distributed and Parallel Databases, № 11, р. 5–32, 2002.