Майстренко А.В., Майстренко Н.В.

Тамбовский государственный технический университет, Россия

Оптимизация размещения баз данных

сложных информационных систем

 

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

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

                     наличие совокупности тесно взаимодействующих компонентов (подсистем), имеющих свои локальные задачи и цели функционирования;

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

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

                     функционирование в неоднородной среде на нескольких аппаратных платформах;

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

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

Работающая информационная система (ИС) подразумевает использование модели предметной области. В общем случае понятиями, формирующими модель, являются объекты и отношения между ними. Модель может иметь явное описание, хранимое полностью или частично в ЭВМ, и храниться (также полностью или частично) в ЭВМ сама. Хранимую в ЭВМ и используемую программно модель можно называть базой данных. Альтернативу явному хранимому описанию модели составляет ее неявное и часто некорректное описание "логикой прикладной программы".

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

Разбиение содержимого базы данных по отдельным файлам – сложная задача, формализуемая и решаемая при помощи дискретной математики и теории графов [1]. Представим базу данных, содержащую N атрибутов. Вес i атрибута Wi = li·m, где li – длина в байтах значения атрибута, m – число экземпляров, i = 1, 2,…, N.

Атрибуты и связи между ними можно представить в виде взвешенного ненаправленного графа, причем каждая вершина графа имеет вес di и каждое ребро имеет вес wij. Вес ребра отображает частоту совместного использования данной пары атрибутов в приложениях. Задача оптимизации построения БД заключается в построении файлов (таблиц) БД таким образом, чтобы сумма весов вершин взвешенного ненаправленного графа не превосходила допустимого объема, а сумма весов разрезанных ребер была наименьшей. Таким образом, исходная задача принадлежит классу задач декомпозиции графа.

Пусть задан неориентированный взвешенный граф G(XVwd) порядка n, где X={x1,…,xn} – множество вершин; VÍX´X – множество ребер; wV®R+ – отображение, определяющее вес каждого ребра; dX ®R+ – отображение, определяющее вес каждой вершины, где R+ – множество действительных неотрицательных чисел.

Требуется определить разбиение множества вершин X графа G(X, V, w, d) на k подмножеств (X1, X2,…,Xk) таким образом, чтобы для кусков графа G1(X1, V1, w1, d1), G2(X2, V2, w2, d2), …, Gk(Xk, Vk, wk, dk) выполнялись требования:

XiÇXj=Æ, для " i¹j,  где i,j =;

;

|X1|=n1,…, |Xk|=nk, n1+…+nk=n.

(1)

В качестве первого критерия оптимальности F1, определяющего эффективность k-разбиения (X1,…,Xk), будем рассматривать суммарный вес всех ребер, целиком попавших в один из подграфов разбиения:

(2)

Суммарный вес вершин, принадлежащих одному подграфу, будем называть весом подграфа. Вес некоторого подграфа Xi будем обозначать через W(Xi). Для уравнивания весов получаемых подграфов будем использовать следующий критерий оптимальности F2:

(3)

 

Таким образом имеем задача оптимизации БД может быть записана в виде:

(4)

 

Для решения задач разбиения графов используют алгоритм разбиения пополам, алгоритм деления с учетом связности, алгоритм разбиения Кернигана-Лина и их модификации.

 

Литература

1. Майстренко А.В., Майстренко Н.В., Ерохин О.И. К вопросу об оптимизации баз данных сложных информационных систем // Вопросы современной науки и практики. Университет им. В.И. Вернадского. 2009. №. 8 (22). С.126-130.