ВВЕДЕНИЕ
Актуальность проблемы. Разнообразие аппаратно-программных комплексов (АПК), используемых при разработке автоматизированных систем, привело к появлению различных моделей доступа к базам данных в рамках архитектуры "клиент-сервер". Перед проектировщиком распределенной системы возникает непростая задача выбора приемлемого варианта, зависящего от множества факторов: архитектуры будущей системы, спецификаций разрабатываемых запросов и транзакций, схемы базы данных и ее наполнения. В то же время разработчику трудно интуитивно оценить влияние этих параметров на характеристики проектируемой системы. Поэтому разработка теоретических методов, позволяющих прогнозировать показатели качества системы в зависимости от механизма доступа к базе данных и перечисленных выше факторов, а также доведение этих методов до возможности практического использования является актуальной задачей.
К сожалению, применение традиционных теоретических методов не всегда приводит к решению подобных задач. Например, попытки использования теории массового обслуживания для исследования серверов баз данных не приводят к желаемым результатам. Это связано с проблемой выделения ресурсов (обслуживающих аппаратов) и оценки их параметров (входных потоков, времени обслуживания, дисциплин обслуживания очередей).
В работах ряда авторов для оценки времени выполнения запросов к базам данных предлагается использовать калибровочную модель, представ- ляющую собой определенную базу данных, набор запросов, а также АПК, на котором выполняются калибрующие эксперименты. Но такая модель очень дорога; получаемые по результатам натурных экспериментов аналитические выражения справедливы только для данной конфигурации АПК (и то в некоторой степени); эти выражения не отражают особенностей выполнения сложных запросов к базе данных.
Поэтому разработка теоретических основ анализа современных механизмов доступа к распределенным базам данных и связанных с ними процессов, позволяющих преодолеть многие недостатки традиционных методов, является важной проблемой. Здесь нельзя ограничиться разработкой некото- рых частных методов, необходимо предложить новый класс математических моделей, позволяющих оценивать различные объемно-временные характеристики выполнения сложных запросов, которые могут включать и элементарные условия, и соединения нескольких отношений. Эти модели должны учитывать параметры схемы базы данных, а также случайный характер параметров запросов и наполнения базы данных. Важно, чтобы модели позволяли рассчитывать не только характеристики времени выполнения запросов, но и исходные данные для систем массового обслуживания, которые часто используются на практике при анализе сетей передачи данных.
Целью диссертационной работы является разработка теоретических основ анализа процессов доступа к базам данных, учитывающих особенности выполнения запросов к распределенным данным, и реализация полученных результатов в виде инструментальных программных средств.
Задачи исследования. Поставленная цель достигается путем решения ряда взаимосвязанных основных задач диссертационной работы, состоящих в следующем:
разработка математического аппарата анализа времени выполнения запросов к базе данных с учетом их декомпозиции на подзапросы и соединения промежуточных таблиц;
разработка аналитических методов оценки характеристик производительности вычислительных сетей, учитывающих параметры распределенной базы данных и выполняемых в сети запросов и транзакций;
разработка на основе теоретических исследований комплекса инструментальных средств анализа моделей доступа к базам данных распределен-
8
ных систем обработки данных (КСАМ), относящегося к классу экспертных систем;
применение полученных результатов при решении практических задач.
Методы исследований. Исследования проводились на основе ком- плексного использования методов теории вероятностей, теории массового обслуживания, параметрической статистики, теории реляционных баз данных, теории экспертных систем, теории нечетких множеств.
Научная новизна результатов исследования состоит в следующем.
1. Получено преобразование Лапласа-Стилтьеса функций распределения времени выполнения запроса к распределенным базам данных с учетом его декомпозиции на подзапросы.
2. Получены производящие функций числа кортежей соединяемых таблиц для различных условий соединений, учитывающие, что при соединении
л, базовых и/или промежуточных таблиц случайным образом меняется число
Ф
записей в результирующей таблице, а также множество атрибутов, состав
доменов и распределение вероятностей появления элементов доменов в кортежах соединения.
3. Получены преобразования Лапласа-Стилтьеса функций распределений времени выполнения соединений таблиц распределенных баз данных с использованием различных методов: с помощью вложенных циклов, посредством сортировки-слияния и хешированного соединения, а также времени выполнения исходного запроса.
4. Разработан метод анализа функционирования локальных вычислительных сетей, учитывающий работу сетевых адаптеров и квитирование передаваемых данных. Получены выражения для определения вероятностных характеристик передатчика сетевого адаптера, а также определены механизмы учета этих характеристик при оценке параметров модели функционирования локальной вычислительной сети.
5. Получено функциональное уравнение относительно преобразования Лапласа-Стилтьеса функции распределения времени передачи кадра по шине локальной вычислительной сети, учитывающее вероятностные характеристики выполняемых в сети SQL-запросов. Найдено преобразование Лапласа-
М) Стилтьеса функции распределения времени выполнения транзакции в сети,
учитывающее особенности процесса передачи данных между рабочей станцией и сервером базы данных и параметры объемов данных, передаваемых по сети при выполнении запросов транзакций.
6. Доказана теорема о средней незаконченной работе в СМО Mg/G/1 с неординарным потоком и произвольной, не допускающей прерывания обработки дисциплиной обслуживания, которая позволила использовать законы сохранения СМО при получении выражения для средней скорости передачи данных по шине ЛВС при обработке какой-либо транзакции, запускаемой с
л^ рабочей станции.
Практическая ценность и внедерение результатов работы. Для практического использования полученных в диссертации результатов разработан Комплекс инструментальных Средств Анализа Моделей доступа к базам данных распределенных систем обработки данных (КСАМ). КСАМ по описанию запросов и транзакций приложений, таблиц базы данных, топологии сети, виртуальных каналов, параметров сетей и станций обеспечивает расчет характеристик производительности проектируемых распределенных систем обработки данных и их составляющих элементов, позволяющих выявлять l "узкие места" систем. Исходные данные КСАМ можно задавать в виде не-
четких чисел.
В диссертации представлены методические рекомендации по использованию разработанного комплекса для моделирования различных процессов доступа к базам данных: модели сервера базы данных, модели сервера приложений, а также доступа по технологиям Intranet/Internet: из CGI- или API-программ и из Java-апплетов и компонентов ActiveX. КСАМ позволяет
10
учесть наличие разных способов доступа к базам данных в одной сети и характерные особенности перечисленных выше моделей и технологий. В работе выполнен анализ адекватности моделирования распределенных систем обработки данных с помощью КСАМ.
М) Проводимые исследования включались в основные направления науч-
но-исследовательских работ Амурского государственного университета в 1985-2003 годах.
Разработанный математический аппарат, комплекс КСАМ и методические рекомендации были применены при решении ряда практических задач, в частности, при разработке глобальной системы абонентского обслуживания в рамках сети Билайн GSM, поддерживаемой АО "Вымпелком", и модернизации распределенной системы учета и анализа товарооборота, которая эксплуатируется в ряде нескольких филиалов крупных торговых компаний Мо-., сквы (фирм "ВЕСКО+М").
Отдельные результаты исследований используются в учебном процессе Амурского государственного университета в дисциплинах "Организация баз данных" в курсовом и дипломном проектировании специальности 220200 "Автоматизированные системы обработки информации и управления". Апробация работы. Основные результаты диссертации были представлены и обсуждены на следующих конференциях, совещаниях и симпозиумах: научно-практическом семинаре "Применение баз данных" (Пенза, 1997), симпозиуме "Научное и научно-техническое обеспечение экономического и соци-Дм ального развития Дальневосточного региона" (Комсомольск-на-Амуре,
1999), республиканской научно-исследовательской конференции "Измерения, автоматизация и моделирование в промышленных и научных исследованиях" (БТИ. Бийск, 2000), международной научно-технической конференции "Информационные системы и технологии" (Новосибирск, 2000), 2-й всероссийской научно-технической конференции с иностранным участием "Энергетика: управление, качество и эффективность использования энерго-
11
ресурсов" (Благовещенск, 2000), 6-й международной конференции "Качество и использование электрической энергии" (Краков, 2001), 6-й международной восточно-европейской конференции (ADBIS) "Прогресс в базах данных и информационных системах" (Братислава, 2002), международной научной конференции "Интеллектуализация обработки информации ИОИ-2004" (Алушта, 2004).
В первой главе - выполнена классификация моделей доступа к базам данных. Рассмотрены следующие модели: модель файлового сервера, модель сервера базы данных, модель сервера приложений, модели доступа к базам данных в Intranet/Internet по технологиям CGI, API, ASP, из Java-апплетов и компонентов ActiveX, а также модель доступа к данным в системах с объектными архитектурами CORBA и DCOM. Выявлены преимущества и недостатки указанных моделей. Сделан вывод, что перед проектировщиком автоматизированной системы (АС) стоит непростая задача выбора приемлемой модели доступа к базе данных. Важность этой задачи обусловлена тем, что модель доступа к базе данных выбирается на начальных этапах проектирования АС, и она определяет архитектуру будущей системы, которую очень трудно изменить на поздних этапах разработки. Поэтому важно иметь математические методы анализа показателей качества различных моделей доступа к базам данных, помогающие проектировщику выработать концепции разрабатываемой автоматизированной системы.
Выполнен критический анализ научных публикаций, связанных с темой диссертации, по следующим разделам: 1) оптимизация запросов; 2) организация выполнения запросов; 3) соединение таблиц в процессе обработки запроса; 4) организация выполнения транзакций; 5) анализ и выбор индекса; 6) анализ схемы базы данных; 7) использование памяти; 8) исследования на натурных моделях; 9) репликация данных и дублирование компонентов АС; 10) анализ сетей передачи данных. На основании анализа сделан вывод, что предлагаемые методы оценки эффективности либо основаны на результатах
12
натурных экспериментов (система Inquery и др.), либо позволяют решать частные задачи (сравнение и выбор метода построения индекса, оптимизация запросов, организация выполнения транзакций и т. д.), либо обеспечивают оценку показателей качества функционирования АС при упрощенных пред-Ш) посылках (модель 2RC, синтез WMS и др.). Ни один из данных методов не
позволяет рассчитать временные характеристики выполнения запросов и загрузки устройств на ранних этапах проектирования распределенной АС с учетом параметров концептуальной схемы базы данных, спецификаций разрабатываемых программ, архитектуры будущей системы, наполнения базы данных.
Во второй главе — разработан новый математический аппарат, позволяющий получать преобразование Лапласа-Стилтьеса (ПЛС) функции распределения времени выполнения запроса к базе данных с учетом его деком-. позиции на подзапросы и выбираемых оптимизатором запросов методов со-
единения промежуточных таблиц.
Доказаны леммы и теорема, позволяющие получать ПЛС функции распределения времени обработки подзапроса.
Определена рекуррентная процедура расчета вероятности того, что произвольная запись таблицы базы данных удовлетворяет заданному условию поиска.
Доказаны леммы и теоремы позволяющие найти ПЛС времени соединения таблиц базы данных, которое может быть выполнено оптимизатором с помощью одного из следующих методов: с помощью вложенных циклов (NLJ), посредством сортировки-слияния (SMJ), с помощью хешированного соединения (HJ).
На основании приведенных выше результатов в работе получено ПЛС времени выполнения исходного запроса.
В третьей главе — разработан метод анализа локальных вычислительных сетей (ЛВС), который основан на законах сохранения для СМО и учиты-
13
вает важные особенности функционирования современных ЛВС: работу сетевых адаптеров станций, квитирование данных, характеристики объемов данных, передаваемых по сети в процессе выполнения SQL-запросов к распределенной базе данных, а также предложены оценки для глобальных и ма- гистральных сетей передачи данных.
Выполнена формализация процесса передачи данных по ЛВС при выполнении SQL-запроса в архитектуре "клиент-сервер" и на ее основе разработана математическая модель функционирования ЛВС. Эта модель представляет собой замкнутую сеть массового обслуживания (СеМО) с числом заявок, равным количеству
Получены выражения для оценки параметров модели. При расчете ин-тенсивностей потоков обратной связи разработанной СеМО учитывались характеристики объемов данных, передаваемых по сети в процессе выполнения транзакций, включающих операторы языка SQL. Также учитывалось, что по-еле завершения передачи очередного кадра буфер сетевого адаптера может быть еще не заполнен и передатчик СА вынужден простаивать, ожидая завершения заполнения буфера СА. Получена оценка вероятности этого события.
Показано, что если СА сервера и рабочей станции имеют разные скорости передачи данных, то возможна ситуация, когда после передачи очередного кадра с сервера на рабочую станцию сервер будет ожидать квитанцию от рабочей станции. Дана оценка вероятности данной ситуации.
Получено функциональное уравнение относительно ПЛС времени передачи кадра по шине ЛВС, учитывающее вероятностные характеристики числа операторов SQL, выполняемых при обращении к какой-либо транзакции, объема данных, передаваемых на сервер и обратно при обработке операторов SQL, и позволяющее определить начальные моменты времени передачи кадра по шине. Получено выражение для среднего времени передачи всех входных и выходных данных какой-либо транзакции, запускаемой с рабочей
14
станции. Доказана теорема о средней незаконченной работе в СМО Mg/G/1 с неординарным потоком и произвольной, не допускающей прерывания дисциплиной обслуживания, которая позволила использовать законы сохранения СМО при получении выражения для средней скорости передачи данных по шине ЛВС при обработке какой-либо транзакции.
Рассмотрены особенности функционирования глобальных и магистральных сетей передачи данных Х.25, Frame Relay, FDDI, ATM, обеспечивающих связь между несколькими ЛВС.
В четвертой главе - разработаны схема базы данных, база знаний, машина вывода и пользовательский интерфейс комплекса инструментальных средств анализа моделей доступа к базам данных распределенных систем обработки данных (КСАМ), даны методические рекомендации по использованию КСАМ и приведены результаты измерений и вычислительных экспери-^\ ментов, подтверждающих адекватность разработанных методов. Среда раз-
работки комплекса — Oracle и Developer/2000. КСАМ включает взаимосвязанные подсистемы, обеспечивающие описание:
1) концептуального проекта распределенной системы обработки данных (РСОД) (концептуальной (инфологической) схемы базы данных РСОД и наполнения базы данных (прогнозируемого числа записей в таблицах и мощностей атрибутов; запросов (SQL-операторов) и транзакций РСОД, которые могут обращаться к другим транзакциям распределенной системы);
2) архитектуры РСОД (топологии и характеристик узлов и сетей из реестров результатов тестов ТРС и параметров сетей; распределения таблиц (с учетом тиражирования) и транзакций по узлам РСОД; интенсивностей обращений рабочих станций к транзакциям).
Разработаны методические рекомендации по использованию комплекса КСАМ для моделирования различных процессов доступа к базам данных: модели сервера базы данных, модели сервера приложений, а также доступа по технологиям Intranet/Internet: из CGI- или API-программ и из Java-
15
апплетов и компонентов ActiveX. Например, при моделировании доступа к распределенным данным из CGI- или API-программ учитывается чтение HTML-формы с Web-сервера, передача имени и параметров CGI- или API-программы на сервер, выполнение SQL-операторов, закодированных в про-'"^ грамме, передача обратно на рабочую станцию нового HTML-документа с результатами поиска. Аналогично учитываются особенности других способов доступа к базам данных. Комплекс КСАМ позволяет учесть наличие разных способов доступа к базам данных в одной сети и характерные особенности перечисленных выше моделей и технологий.
В работе выполнен анализ адекватности моделирования распределенных систем обработки данных с помощью КСАМ.
В пятой главе - приведены результаты использования разработанных методов и системы КСАМ в процессе проектирования глобальной системы 0, абонентского обслуживания, функционирующей в рамках сети Билайн GSM
и поддерживаемой АО "Вымпелком", а также при модернизации распределенной системы учета и анализа товарооборота "Склад", которая эксплуатируется в ряде нескольких филиалов крупных торговых компаний Москвы, в частности в фирме "ВЕСКО+М".
Публикации. По материалам диссертации опубликованы 38 печатных работ, в том числе 3 монографии
Объем работы. Диссертационная работа содержит 350 страниц основного текста, в том числе 80 рисунков и 22 таблицы. Список литературы ¦П включает 166 наименований.
16
ГЛАВА 1. СОВРЕМЕННЫЕ КОНЦЕПЦИИ ОРГАНИЗАЦИИ
ДОСТУПА К БАЗАМ ДАННЫХ РАСПРЕДЕЛЕННЫХ
АВТОМАТИЗИРОВАННЫХ СИСТЕМ
1.1. Классификация моделей доступа к базам данных
В настоящее время в автоматизированных системах используются следующие основные модели доступа к базам данных:
модель файлового сервера [12, 14, 15];
модель сервера базы данных [12, 14, 15];
модель сервера приложений (трехуровневая архитектура) [12, 18, 32, 33];
модель доступа к данным в Intranet/Internet по технологии CGI и API [12,18,68];
модель доступа к данным в Intranet/Internet по технологии ASP [19, 70];
модель доступа к данным в Intranet/Internet из ActiveX [2, 18, 72] и Java-апплетов [12, 18-20,40];
модель доступа к данным в системах с архитектурами CORBA [12, 18, 19, 26, 146] и DCOM [2, 19, 72].
Ниже обсуждается каждая из этих моделей.
1.1.1. Модель файлового сервера доступа к данным
Здесь приложения выполняются на рабочих станциях. Рабочая станция - это автоматизированное рабочее место сотрудника организации. Приложение включает модули для организации диалога с пользователем, бизнес-правила (специальный термин), обеспечивающие требуемую логику вычислений в АС, и ядро СУБД [12, 32]. Часто ядро СУБД в модели файлового сервера не выражено и представляет собой набор функций, связанных с остальными компонентами приложения (FoxPro и др.). Приложение, включая
и ядро СУБД, дублируется на различных рабочих станциях. На файловом
17 |