Материал: Модели и алгоритмы проектирования и разработки систем поддержки принятия инвестиционных решений. Морозов В.П., Баркалов С.А

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Таблица 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

Источник: https://studfile.net/preview/16563833/