УДК 004.67

Расширение запросной системы макетного генератора информационных систем возможностью организации массовых запросов к БД НИКА

Соловьев Александр Владимирович – доктор технических наук, главный научный сотрудник Федерального исследовательского центра «Информатика и управление» Российской академии наук; заведующий лабораторией Информационно-поисковых систем кафедры Информатики факультета Информатики и прикладной математики Православного Свято-Тихоновского гуманитарного университета.

Тищенко Владимир Александрович – кандидат технических наук, научный сотрудник отдела Организации банков данных Федерального исследовательского центра «Информатика и управление» Российской академии наук; сотрудник кафедры Информатики факультета Информатики и прикладной математики Православного Свято-Тихоновского гуманитарного университета

Аннотация: Описана методология организации массовых запросов к БД НИКА на основе шаблонов запросов, составленных на языке OOML. Применением данной методологии является аналитическая обработка данных, полученных в результате запросов к БД. В гипертекстовой системе БД НИКА NKWSystem используется спецификация отображения “график” для построения частотных зависимостей по индексным полям БД, а также по методологии массовых запросов. В рамках методологии шаблоны запросов позволяют выделить различные категории или группы данных. Графики демонстрируют встречаемость ключей по заданному полю внутри группы. Методология проиллюстрирована на примере построения общего недетализированного частотного графика с выделением групп по полю причина смерти для БД по репрессированным.

Ключевые слова: ООСУБД НИКА, объектно-ориентированный язык разметки, массовые запросы, интерактивная аналитическая обработка данных.

Актуальность массовой запросной технологии

При анализе данных, собранных в конкретной предметной области по схеме описания данных в единую базу данных, на первый план выходят методы аналитической обработки данных для построения различных зависимостей на основе данных предметной области. Для реализации подобных методов на основе БД НИКА был реализован механизм, опирающийся на технологию массовых запросов, которые позволяют сгруппировать данные по категориям и получить результаты запросов в виде количества отобранных объектов. Эта технология применяется в гипертекстовой системе ООСУБД НИКА NKWSystem [1,2] для построения частотных графиков по различным индексным полям, например, временным. Технология массовых запросов включает в себя расширенную запросную систему макетного генератора информационных систем [3], выполненную в виде 64-разрядной версии под операционной системой windows.

Описание реализации массовой запросной технологии

image1

Рисунок 1. Схема запуска массовых запросов гипертекстовой системой NKWSystem.

Вызываемый гипертекстовой системой NKWSystem модуль запросов nkqp содержит запросную часть системы МАГИС mktnk [3], дополненную возможностью вызова множественных запросов с изменением значения одного из атрибутов запроса, например, временного. Изменяемый атрибут запроса задается посредством шаблона запроса, который совпадает с файлом запроса на языке OOML [3], за исключением изменяемого атрибута. Имя и значение изменяемого атрибута задаются форматной строкой “%s” в файле шаблона запроса. Множественные запросы для данного шаблона запускаются для всех возможных значений изменяемого атрибута а. Атрибут а: а∈A последовательно пробегает все значения множества A, представляющего собой индекс в БД, построенный по атрибуту а. Допускается при вызове процесса массовых запросов nkqp наложить ограничение на диапазон пробегаемых значений атрибутом а∈[amin;amax]⊆A. При этом начальным значением атрибута а будет amin, а конечным – amax. Модуль nkqp может быть запущен в виде нескольких параллельных процессов с разными OOML-шаблонами (см. рис. 1). Результаты массовых запросов отписываются в различные файлы БД НИКА. Вектора количества объектов результатов запросов, объединенные в таблицу в рамках спецификации отображения “график” (GRA), выдаются в качестве результата множества массовых запросов. На основе полученных табличных данных на одной диаграмме строятся графики частот встречаемости ключей для всех выделенных категорий.

Статические счетчики объектов

Не требуют массовых запросов частоты ключей, составляющих определенный индекс в БД. Все индексы обсчитываются при загрузке БД и все длины массивов сохраняются в БД в виде счетчиков ключей. Примером применения статических счетчиков является спецификация оптимального классификатора [4]. Вектора статических счетчиков также могут быть заданы в спецификации “график” системы NKWSystem. Они выдаются в общей таблице наряду с численными результатами массовых запросов и отображаются в виде соответствующих графиков.

Длительность выполнения массовых запросов

Длительность выполнения зависит от многих факторов. Спецификация “график”, присвоенная вершине типа структура [1], например, вершина INDEX, может задавать несколько графиков, отображающих результаты массовых запросов. Эти массовые запросы запускаются параллельно. Длительность обсчета множества массовых запросов будет определяться обсчетом одного массового запроса в среднем. Эта величина сильно зависит от числа ключей или числа точек на графике. БД по репрессированным в настоящий момент содержит порядка 36,5 тыс. имен. При нескольких десятков точек в случае использования жестких дисков длительность выполнения массовых запросов может достигать нескольких минут. При работе с БД в интерактивном режиме в интернет требует большого времени ожидания. Для ускорения процесса выполнения массового запроса предлагается использование твердотельных дисков, что дает время выполнения порядка нескольких секунд, а использование оперативной памяти для сохранения результатов запрос сокращает время выполнения массового запроса до 1-2 секунд. Предполагается, что число одновременных массовых запросов порядка 3-4.

Пример применения массовых запросов

OLAP-технология и ее применение описаны в работе [5,стр.249-310]. Спецификация “график” с использованием массовых запросов служит лишь отправной точкой для построения OLAP-подсистемы гипертекстовой системы NKWSystem. Ниже дается пример графика, построенного для индексного атрибута ГодСмерти с выделением трех категорий посредством массовых запросов, включающих условие на атрибут ПричинаСмерти [6].

Таблица 1. Фрагмент частотных данных массового запроса.

ГодСмерти

1917

1918

1919

1920

1921

Смерти

17

670

238

88

77

Расстрелы

4

397

125

57

53

Умершие не своей смертью

11

261

109

18

22

Умершие своей смертью

2

12

4

13

2

Первая строка таб. 1 – это год смерти. Вторая строка – это числа умерших по годам, представляющие собой статические счетчики индексного массива ГодСмерти. Три последние строки составляют результаты трех массовых запросов с различными ограничениями на атрибут ПричинаСмерти. Данные из таб. 1 представлены в виде графика на рис.2.

image2

Рисунок 2. График числа смертей репрессированных по годам по причинам смерти.

Список литературы

  1. Емельянов Н.Е., Тищенко В.А. Принципы построения web-сервера на основе объектно-ориентированной базы данных // Информационные технологии и вычислительные системы. 1997, N 4. C.90-99.
  2. Емельянов Н.Е., Тищенко В.А. Представление гипертекста в СУБД НИКА // Технология программирования и хранения данных / Сб. трудов ИСА РАН. Т.45. Под ред. чл.-корр. РАН Арлазарова В.Л. и д.т.н. проф. Емельянова Н.Е. - М. 2009. С. 17-36.
  3. Bogacheva, A.N. Object Oriented Markup Language and Restructuring Hierarchical Database Objects / A.N. Bogacheva, N.E. Emeljanov, A.P. Romanov // Proceeding ADBIS '95 Proceedings of the Second International Workshop on Advances in Databases and Information Systems. pp. 137-142, June 27 - 30, 1995.
  4. Тищенко В.А. OPC-trie: спецификация оптимального классификатора для СУБД НИКА // Труды ИСА РАН, 2021. Т. 71.Вып. 1. С.67-71.
  5. Ахрем А.А., Макаров И.М., Рахманкулов В.З. Математическая теория виртаулизации процессов проектирования и трансфера технологий. - М. ФИЗМАТЛИТ, 2013. – 316 с.
  6. Интернет-ресурс база данных “За Христа пострадавшие”. http://martyrs.pstbi.ru.

Интересная статья? Поделись ей с другими: