Таблица 2.6
Значения усредненного времени реализации запросов
Количество записей в ХД:10000
Значения среднего времени выполнения запросов: ms
Поля не проиндексированы
1НФ
Цена от- |
Нормальная |
Цены |
Нормальная |
Прогнозная |
Нормальный про- |
крытия |
цена откры- |
закрытия |
цена закры- |
цена |
гноз |
|
тия |
|
тия |
|
|
700 |
790 |
775 |
770 |
680 |
700 |
|
|
|
3НФ |
|
|
Цена от- |
Нормальная |
Цены |
Нормальная |
Прогнозная |
Нормальный про- |
крытия |
цена откры- |
закрытия |
цена закры- |
цена |
гноз |
|
тия |
|
тия |
|
|
400 |
380 |
390 |
370 |
410 |
415 |
|
|
Все поля проиндексированы |
|
||
|
|
|
1НФ |
|
|
Цена от- |
Нормальная |
Цены |
Нормальная |
Прогнозная |
Нормальный про- |
крытия |
цена откры- |
закрытия |
цена закры- |
цена |
гноз |
|
тия |
|
тия |
|
|
518 |
500 |
490 |
530 |
515 |
530 |
|
|
|
3НФ |
|
|
Цена от- |
Нормальная |
Цены |
Нормальная |
Прогнозная |
Нормальный про- |
крытия |
цена откры- |
закрытия |
цена закры- |
цена |
гноз |
|
тия |
|
тия |
|
|
180 |
150 |
160 |
130 |
160 |
150 |
Анализ проведенных экспериментов показал, что среднее время обработки многоаспектных запросов меньше среднего времени обработки одноаспектных запросов. Следовательно, в СУБД MS Access целесообразнее осуществлять многоаспектный поиск.
Загрузочная секция (ЗС) является буфером, предназначенным для временного хранения данных перед их загрузкой в ХД. В технологическом плане она представляет собой набор временных промежуточных таблиц, в которых находятся данные в необработанном формате. В интересах оперативной пересылки данных для их хранения использован внутренний формат системы. Данные, содержащиеся в ЗС, становятся доступными для пользователя, после их пересылки в ХД. Информация в ЗС поступает из различных источников (локальная машина, ЛВС, интернет-сайты, унаследованные системы, файлы, архивы).
Для сопряжения БД унаследованных систем «DB2» с текущей СУБД «Access 2007» использовалась специальная служба словаря информационных ресурсов (Information Resource Dictionary System — IRDS). Она обеспечивала стандартизацию интерфейсов словарей данных двух СУБД для достижения большей доступности и упрощения их совместного функционирования. Данная служба входит в один из стандартов Международной организации стандартиза-
ции (International Organization for Standardization — ISO) [48]. Она включает оп-
ределение таблиц, содержащих словарь данных, и операций, которые могут
71
быть использованы для доступа к этим таблицам. Данные операции обеспечивают непротиворечивый метод доступа к словарю данных и способ преобразования определений данных из словаря одного типа в определения другого типа.
Всхематичном видереализацияданногоподходапредставленанарис.2.11.
Словарь
данных
Графический |
|
|
интерфейс |
|
|
|
|
|
|
|
|
Интерфейс |
|
|
командного |
|
|
языка |
|
Интерфейс |
|
|
cлужб |
|
||
Интерфейс |
|
IRDS |
экспорта/ |
|
|
импорта |
|
|
|
|
|
Пользова- |
|
|
тельские |
|
|
приложения |
|
|
БД «DB2»

БД «Access»
Словарь
данных
Рис. 2.11. Структурная схема обеспечения сопряжения различных типов БД службой IRDS
С помощью службы IRDS информация, хранимая в IRDS– совместимом словаре данных СУБД «DB2», передавалась в IRDS-совместимый словарь данных СУБД «Access 2007» или направлялась приложению системы DB2. Кроме того, данная служба обеспечила возможность расширения словаря данных. Если у пользователя возникала задача сохранения определения нового типа информации в каком-то инструменте (например, инициализации новыхотчетов в новой СУБД), то система IRDS в данной СУБД обеспечивала соответствующее расширение для включения этой информации. Служба IRDS построена на основе интерфейса служб, состоящего из набора функций, доступного для вызова с целью получения доступаксловарюданных. Интерфейсслужбможетвызыватьсясосторонытаких типовпользовательскихинтерфейсов,как
-графическийинтерфейс;
-командныйязык;
-файлыэкспорта/импорта;
-прикладныепрограммы.
В демонстрационном варианте ПК НПВР используется СУБД Microsoft Access 2007 в совокупности с языком запросов QBE (Query-by-Example — языкзапросов по образцу). В языке QBE используется визуальный подход для организации доступа к информации в базе данных, основанный на применении шаблонов запросов [57]. Применение QBE осуществляется путем задания образцов значений
72
вшаблонезапроса, предусматривающемтакойтипдоступакбазеданных, который требуется в данный момент, например получение ответа на некоторый вопрос. Средстваподдержкиязыка QBE вСУБД Microsoft Access простывэксплуатациии втожевремяимеютдостаточноширокийспектрвозможностейработысданными. В ПК НПВР средства языка QBE используются для ввода запросов к информации, сохраняемой в одной или нескольких таблицах, а также для определения набора полей,которыедолжныприсутствоватьврезультирующейтаблице.
Учет особенностей технологии хранения данных позволил при выборе инструмента использования ХД отдать предпочтение витрине данных. Витрина данных (ВД) обеспечивает работу с актуальными данными. Она представляет собой интегрированный, статичный, поддерживающий хронологию набор данных из разных источников, используемый для поддержки принятия инвестиционных решений. ВД базируется на нормализованной реляционной модели хранения данных. В состав ПВХД входит несколько витрин данных (поддержки НМШ, исследования ИНС, терминологического поиска,OLAP приложений). Тематические ВД (поддержки НМШ, исследования ИНС, терминологического поиска) реализованы в настоящей версии ПК НПВР. Применение нескольких ВД обусловлено необходимостью поддержки различных форматов данных в соответствующих приложениях. ВД оптимизированы под специфические требования соответствующих приложений. ВД OLAP (on-line analytical processing - оперативной аналитической обработки) приложений являются перспективными и в данной версии ПК НПВР не используются.
Модуль накопления и очистки данных обеспечивает проверку данных, поступающих в хранилище из различных источников. Необходимость этих действий обусловлена причиной существования данных с ошибками («замусоренных» данных), возникающих в результате ввода данных операторами ПК, различных форматов используемыхсловарейиотсутствиемсистемыконтролявводимыхданных.
Модуль контроля качества данных предназначен для сохранения консистентности, целостности и непротиворечивости последних, а также устранения их избыточности.
Модуль оптимизации ВД и доступа к данным предназначен для повышения оперативности реализации запросов пользователя и размещения актуальных данных на ВД.С целью повышения оперативности реализации запросов пользователя был пересмотрен стандартный метод индексирования записей в БД и разработан модифицированный алгоритм обобщенного индексного дерева. Индексирование данных призвано ускорить все операции, связанные с поиском соответствующей информации [179]. В процессе реализации индексирования выявилось некоторое противоречие, суть которого заключалась в следующем. Если поиск удаляемых (корректируемых) записей осуществлялся по условиям, наложенным на индексированный столбец, то имело место ускорение данного процесса. Однако в случае добавления записи происходило, наоборот, его замедление, поскольку происходи-
73
ло выполнение нескольких операций - добавления информации в файл данных и модификации индексов. Поэтому увеличение индексов в таблице привело к замедлению процесса модификации. Для разрешения данного противоречия была использована идея применения при индексировании Р*-дерева. В основном Р*- деревья используются при индексировании пространственных объектов. Исследовались классический метод индексирования пространственных объектов и алгоритм обобщенного индексного дерева [40]. Кроме того, был разработан модифицированный алгоритм обобщенного индексного дерева. Его суть заключалась в дополнении основной функции «деления узла» поиском непересекающихся множеств и процедурой деления узла без пересечений. Для просмотра всех записей, находящихся в узле, строились списки разбиения ребер охватывающего прямоугольника без пересечений. После чего в главном цикле функции «деления узла» проводился анализ возможных разбиений, что обеспечило алгоритмическую сходимость метода. В случае нескольких вариантов разбиения узла без пересечений выбирался тот, при котором площадь охватывающих прямоугольников была минимальной. Если деление без пересечений было невозможным, выполнялся уже существующий алгоритм. В итоге к существующему алгоритму индексирования Р*-дерева был добавлен ряд дополнительных процедур, часть которых реализованасиспользованием стандартнойбиблиотекиDelphi7.0.
Врезультате проведенных экспериментов установлено [78], что по временным параметрам реализация классических Р-деревьев уступает реализациям обобщенных Р-деревьев достаточно весомо (более 26 %). Поэтому в дальнейшем сравнивались метод обобщенного индексного дерева и модифицированный алгоритм обобщенного индексного дерева. В ходе проведенных экспериментов были получены зависимости производительности индексных структур этих типов от их внутреннейархитектуры.
Были созданы три группы типов объектов: малые, большие и объекты случайных размеров. Для каждой из групп были сформированы случайным образом множества, состоящие из 5, 10, 100, 1000, 10000, 1000000 объектов соответственно.Всегоисследовалось50пакетовэкспериментальныхданных.
Входе проведения каждого эксперимента выполнялась следующая последовательностьдействий:
-добавление вБД единичногомножестваобъектов; -заданиеколичествазапросов,связанныхспересечениемнекоторыхзаписей; -реализация сформированныхзапросов;
- хронометраж времени реализации всех запросов и определение среднего времениреализации запроса; -формированиевыходныхрезультатов.
Втабл. 2.7 представлены значения длительностей (в ms) реализаций запросов,дляразличныхметодовформированияипротяженностейобъектов.
74
Таблица 2.7 Экспериментальные значения длительностей (ms) реализаций запросов для различных алгоритмов их формирования и протяженности объектов
Количество |
Алгоритм обобщен- |
Модифицированный |
Временной |
записей в таблице |
ного индексного |
алгоритм обобщен- |
выигрыш, % |
|
дерева |
ного индексного |
|
|
|
дерева |
|
5 |
4,34 |
4,12 |
5,3 |
10 |
35,16 |
33,08 |
6,3 |
100 |
201,53 |
175,2 |
15 |
1000 |
408,51 |
317,14 |
28,8 |
10000 |
3152,33 |
2178,21 |
44,7 |
1000000 |
8677,12 |
5405,59 |
60,5 |
Анализ полученных результатов показывает, что модифицированный алгоритм обобщенного индексного дерева превосходит по быстродействию существующий в среднем более чем на 25%. В случае увеличения количества записей в таблице, производительность предложенного алгоритма возрастает в среднем более чем на 50%, что актуально для БД данной предметной области.
Это позволяет сделать вывод о перспективности его использования.
Вмодуле оптимизации ВД и доступа к данным реализован алгоритм взаимообмена данными между ВД и ХД, названный алгоритмом оптимизации доступа, которыйобеспечивает:
- эффективный обмен данными между ХД и ВД; - быстрый доступ к актуальным данным;
- долговременное гарантированное хранение наборов данных включенных вХД.
Блок-схема алгоритмаоптимизации доступа, представлена на рис. 2.12. Блоки 1,8 используются для пуска и остановки процесса обмена данными.
Вблоке 2 реализован ввод исходных данных, таких как значение верхнего уровня объема данных ВД и значение нижнего уровня объема данных ВД. Запуск и остановка процедуры перемещения данных реализуется в соответствии со следующими критериями:
- система перемещения данных из ВД в ХД запускается, если общий объем хранимых в ВД данных превышает верхний допустимый уровень;
- система перемещения данных из ВД в ХД прекращает работу, когда общий объем хранимых в ВД данных становится меньшим, чем нижний допустимый уровень.
Блок 3 используется для проверки состояния загруженности ВД. Если ВД не загружено, то осуществляется переход к блоку 5. В противном случае управление переходит к блоку 4.
Блок 4 реализует архивацию и перемещение данных из ВД в ХД.
Вблоке 5 реализован поиск данных, запрашиваемых пользователем. Если
75