Научная статья на тему 'Реализация метода построения процедуры вставки данных в структурно-независимых базах данных'

Реализация метода построения процедуры вставки данных в структурно-независимых базах данных Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
96
18
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
DATA INSERTION PROCEDURE / STRUCTURE-INDEPENDENT DATABASE / ACTIVITY APPROACH / TECHNIQUE / ACTION MECHANISM / SEMANTICS / EXPERIMENT / PERFORMANCE / ПРОЦЕДУРА ВСТАВКИ ДАННЫХ / СТРУКТУРНО-НЕЗАВИСИМАЯ БАЗА ДАННЫХ / ДЕЯТЕЛЬНОСТНЫЙ ПОДХОД / МЕТОДИКА / МЕХАНИЗМ ДЕЙСТВИЯ / СЕМАНТИКА / ЭКСПЕРИМЕНТ / ПРОИЗВОДИТЕЛЬНОСТЬ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Грищенко А. С., Егоров А. В.

В работе разрабатывается методика построения эффективных процедур вставки данных в структурно-независимые базы данных, использующая деятельностный подход. Суть данной методики заключается в представлении процедуры в виде механизма действий, позволяющего раскрыть её семантику, тем самым минимизировав количество одинаковых по смыслу характеристик. Использование методики построения процедур вставки данных в структурно-независимые базы данных, а также применение однородной по структуре структурно-независимой базы данных NoSQL СУБД, позволило значительно повысить производительность, о чем можно судить по проведенному в работе вычислительному эксперименту.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Implementation of the method for data insertion procedure constructing in structure-independent databases

The paper issues a technique for constructing effective data insertion procedures in structure-independent databases that uses the activity approach. The essence of this technique is to present the procedure in the form of an action mechanism that allows its semantics to be opened, thereby minimizing the number of identical same meaning characteristics. The use of the technique for data insertion procedures constructing into structure-independent databases, as well as the use of a NoSQL DBMS that is homogeneous in structure to structure-independent databases made it possible to significantly improve performance. You can judge it from the computational experiment which is performed in the work.

Текст научной работы на тему «Реализация метода построения процедуры вставки данных в структурно-независимых базах данных»

Реализация метода построения процедуры вставки данных в структурно-независимых базах данных

А.С. Грищенко, А.В. Егоров Южный федеральный университет, Таганрог

Аннотация: В работе разрабатывается методика построения эффективных процедур вставки данных в структурно-независимые базы данных, использующая деятельностный подход. Суть данной методики заключается в представлении процедуры в виде механизма действий, позволяющего раскрыть её семантику, тем самым минимизировав количество одинаковых по смыслу характеристик. Использование методики построения процедур вставки данных в структурно-независимые базы данных, а также применение однородной по структуре структурно-независимой базы данных NoSQL СУБД, позволило значительно повысить производительность, о чем можно судить по проведенному в работе вычислительному эксперименту.

Ключевые слова: процедура вставки данных, структурно-независимая база данных, деятельностный подход, методика, механизм действия, семантика, эксперимент, производительность.

Введение

В настоящее время существует класс баз данных (БД) называемый структурно-независимые базы данных (СНБД) [1], такие БД позволяют проектировать информационные системы (ИС) с изменяющейся структурой -конфигурируемые ИС: Magento, 1С-Битрикс [2], гидроакустические информационные системы с использованием конфигурируемого программного каркаса [3] и т.д. Их использование, в отличие от реляционных баз данных, дает пользователю возможность самостоятельно менять как структуру приложения, так и структуру данных без постоянного привлечения технических специалистов, что позволяет хранилищу данных соответствовать динамически изменяющимся требованиям.

Используемые в современных СНБД методы манипулирования данными работают в основном на базе реляционных технологий. Было проведено исследование, согласно которому был сделан вывод о том, что структура процесса построения процедур манипулирования данными в СНБД не является однородной [4], это связано с эмпирическим характером их

создания. Специалисты разработчики формируют цель процедуры используя действия, далее применяют объекты при создании процедуры и получают действия в полученном результате - коде процедуры. Это приводит к возникновению ошибок в коде процедуры и низкому быстродействию процедур [5 - 6].

Целью данной работы является реализация метода, описанного в [7]. Метод должен позволить строить эффективные процедуры вставки данных в СНБД за счет устранения существующих недостатков, связанных с неоднородностью процесса построения и, как следствие, с производительностью самих процедур.

Реализация метода построения процедур вставки данных с использованием деятельностного подхода

Реализуемый метод заключается в раскрытии семантики (смысла) существующей процедуры вставки данных в СНБД, производительность которой требуется повысить; поиске одинаковых по смыслу характеристик в ней, отвечающих за описание объекта реального мира в СНБД; минимизации характеристик и построении нового алгоритма процедуры; переходе от алгоритма к программному коду процедуры вставки данных в СНБД. Полученный алгоритм должен обладать достаточным уровнем абстракции, чтобы с его помощью строить новые процедуры вставки данных в конкретную СНБД.

В нашей работе для раскрытия смыслов характеристик существующих процедур манипулирования данными в СНБД будет использоваться деятельностный подход. Финский ученый Mikko Korpela в своей работе [8] применяет его для анализа бизнес-процессов в процессе разработки информационных систем. Однако, о каких-либо практических результатах в области построения программного кода с использованием деятельностного подхода в работах Mikko Korpela не говорится.

Суть деятельностного подхода заключается в представлении объекта исследования (раскрытии его смысла) в виде структуры действия. Такая необходимость обусловлена существующей в процессе построения процедур манипулирования данных неоднородностью, которая описана далее. Процесс построения начинается с постановки цели, которая определяет конкретную задачу манипулирования данными, выполняемую процедурой. Примером цели может служить следующая формулировка: «Добавить к сущности Монитор новую запись: Название модели - 'S1234', Диагональ -'24', Цена -'15000', Производитель - 'Sony'». Результатом процесса построения процедуры манипулирования данными должен стать программный код процедуры, удовлетворяющий поставленной цели. Эти две составляющие процесса построения представлены в виде действия. Однако, само построение процедуры выполняется разработчиком эмпирически и не представляет собой действие. В процессе создания процедуры манипулирования данными разработчик концентрируется на объекте -процедуре - он представляет её образ, и на объектах из которых она состоит: оператор манипулирования данными; объект; характеристика объекта; значения характеристики объекта; местоположение в БД.

Такое, используемое разработчиком, представление можно условно назвать «объектным» (не путать с объектно-ориентированным программированием). При переходе от цели к процессу построения и от процесса построения к программному коду возникает семантический разрыв, то есть возникают неоднородности при переходе «действие-объект-действие», вследствие чего возникают ошибки, дополнительные преобразования и снижается производительность. В качестве инструмента для исследования процессов манипулирования данными в СНБД предлагалось создавать механизмы действий [9, 10]. Они должны представлять собой реализацию правил через взаимодействие набора

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

Сформулируем методику, использующую деятельностный подход и позволяющую реализовать метод построения процедур вставки данных в СНБД.

1. Представление объекта исследования - процедуры вставки данных в СНБД - в виде действия.

2. Каждую характеристику объекта исследования представить в форме единичных действий.

3. Определить все возможные отношения между этими действиями.

4. Построить механизм процедуры вставки данных в СНБД, состоящий из единичных действий, соединенных по определенным отношениям.

5. Проанализировать механизм процедуры вставки данных в СНБД:

5.1. найти одинаковые по смыслу элементы, функции, инструменты, отвечающие за описание объекта реального мира в СНБД;

5.2. выявить закономерности, по которым можно было бы минимизировать количество вносимых характеристик, отвечающих за описание объекта реального мира в СНБД;

5.3. ввести характеристики, отвечающие за описание объекта реального мира в СНБД, с целью сократить их количество и сделать структуру более однородной.

6. Сформировать новые действия с использованием новых характеристик;

7. Сформировать новые отношения (если необходимо).

8. Построить новый механизм процедуры вставки данных в СНБД.

9. Проверить полученный механизм на однородность (на наличие элементов одинаковых по смыслу). В случае, если таковые присутствуют, повторить п. 5-8.

10. Перейти от механизма к программному коду процедуры вставки данных в СНБД.

Вычислительный эксперимент

Для эксперимента была спроектирована физическая структура реляционной БД, основанная на логической структуре, состоящей из трёх связанных сущностей. Затем, аналогичная ей, физическая структура с учетом особенностей СНБД.

Сформулируем план проведения вычислительного эксперимента: в БД необходимо вставлять в две связанные сущности от 1 до 10000 экземпляров сущностей; при этом, вставляя один экземпляр в сущность, создается пять экземпляров в связанной сущности. Вставляемые значения генерируются случайно. Для повышения точности результатов, каждый раз после вставки определенного количества записей, БД необходимо удалять и создавать заново, а СУБД перезапускать. Это связано с сохранением временных записей в кэше СУБД и табличном пространстве.

На рис. 1 (а) показан график производительности процедуры вставки в связку двух сущностей существующей СНБД процедуры и аналогичной ей реляционной. Зависимость от времени выполнения растет экспоненциально. Разница при вставке 10000 экземпляров - более чем в 400 раз.

Для обеспечения максимальной однородности создаваемой процедуры структуре самой СНБД была построена БД на основе нереляционной высокопроизводительной СУБД Redis. На рис. 1 (б) показан график производительности разработанной по методике СНБД процедуры вставки данных и аналогичную ей реляционную. По результатам эксперимента можно наблюдать, что использование методики построения процедур с

использованием деятельностного подхода, а также однородной структуре СНБД СУБД, позволило сократить время по вставке 10000 экземпляров сущностей более чем в 1300 раз. Наряду с этим, новая процедура показывает в 3 раза лучшее быстродействие даже по сравнению с аналогичной

реляционной процедурой.

В ре мв, м с 1300000 1600000 —' \"П цион нал вд, WIC ■ Суще ствуво щая проц еДУР а Eper.'F, г." с 4500 4000 —« Реля ЦП он нал ВД, мс Redis СНБД , мс

1200000 1000000 3000 2500

600000 1500

о 00 О Ю 5 честао 00 й Z500 5000 7500 10050

ш 50 100 :.оо юос Количество записей Z500 5000 7500 10t 1 5 10 50 1 Коли » 10 запис

а) б)

Рис. 1. - Графики производительности реляционной процедуры вставки данных и СНБД процедуры до (а) и после (б) использования методики

Заключение

В работе была сформирована методика построения эффективных процедур вставки данных в СНБД, использующая деятельностный подход, и основанная на методе построения изложенном в статье [7]. Суть данной методики заключается в представлении процедуры в виде механизма действий, состоящего из единичных действий, позволяющих раскрыть её семантику (смысл) и минимизировать количество одинаковых по смыслу характеристик. Использование методики построения процедур вставки данных в СНБД, а также применение NoSQL СУБД Redis, однородной структуре СНБД, позволило значительно повысить производительность, о чем можно судить по проведенному вычислительному эксперименту.

Формализация описанной методики позволит совершенствовать и затем строить новые процедуры вставки данных в СНБД, повышая их

быстродействие до уровня аналогичных реляционных запросов, а также автоматизировать процесс построения процедур в СНБД.

Благодарность

Исследование выполнено при финансовой поддержке РФФИ в рамках научного проекта № 17-07-00105

Литература

1. Nadkarni P. An Introduction to Entity-Attribute-Value Design for Generic Clinical Study Data Management Systems // Center for Medical Informatics, Yale University Medical School. URL: med.yale.edu/.

2. Рогозов Ю.И., Дегтярев А.А. Оценка эффективности построения программных средств гидроакустических информационных систем с использованием конфигурируемого программного каркаса // Инженерный вестник Дона, 2013, №4. URL: ivdon.ru/ru/magazine/archive/n4y2013/1877

3. Прощаева А.А. Влияние ролевой модели доступа на производительность веб-систем на при внедрении 1 С-Битрикс // Инженерный вестник Дона, 2017, №3. URL: ivdon.ru/ru/magazine/archive/N3y2017/4364

4. Грищенко А. С. Исследование методов построения процедур манипулирования данными в структурно-независимых базах данных // Известия ЮФУ. Технические науки. - Таганрог: Изд-во ЮФУ, 2015. Выпуск № 11 (172), с. 149-157

5. Змеев О., Моисеев А. Сравнительный анализ некоторых методов O-R-преобразования // Вестник Томского государственного университета. Томск: Изд-во ТГУ 2003, № 280, с. 263-271

6. Гмарь Д.В., Игнатова Ю.А., Цуранов Э.В., Шахгельдян К.И. Методы работы с вертикальной моделью данных // Информационные технологии и вычислительные системы №2. М.: ФИЦ ИУ РАН 2015. с. 1-28

7. Rogozov Y., Grishchenko A., Sviridov A. Method of creating procedures for inserting data in structure-independent databases based on activity driven approach // Proceedings of 17th International Multidisciplinary Scientific Geoconference "Informatics, Geoinformatics and remote sensing". Vol.21. Albena, Bulgaria. 2017. pp. 425-432

8. Korpela M., Mursu A., Soriyan A., Eerola A., Hakkinen H., Toivanen M. Information Systems Research and Development by Activity Analysis and Development: Dead Horse or the Next Wave? // IFIP Advances in Information and Communication Technology, January, 2004. pp. 453-471

9. Рогозов Ю. И. Понятие метасистемы как системы // Промышленные АСУ и контроллеры. М.: Изд-во Научтехлитиздат. 2013. № 2. с. 39-47

10. Юдин Г. Э. Системный подход и принцип деятельности. - М.: Наука, 1978. - 391 с.

References

1. Nadkarni P. Center for Medical Informatics, Yale University Medical School. URL: med.yale.edu

2. Rogozov Yu.I., Degtyarev A.A. Inzenernyj vestnik Dona (Rus), 2013, No 4. URL: ivdon.ru/ru/magazine/archive/n4y2013/1877

3. Proshchaeva A.A. Inzenernyj vestnik Dona (Rus), 2017, No 3. URL: ivdon.ru/ru/magazine/archive/N3y2017/4364

4. Grishchenko A.S. Izvestiya YuFU. Tekhnicheskie nauki. Taganrog: Izd-vo YuFU, 2015. Vypusk No 11 (172), pp. 149-157

5. Zmeev O., Moiseev A. Vestnik Tomskogo gosudarstvennogo universiteta. Tomsk: Izd-vo TGU 2003, No 280, pp. 263-271

6. Gmar' D.V., Ignatova Yu.A., Tsuranov E.V., Shakhgel'dyan K.I. Informatsionnye tekhnologii i vychislitel'nye sistemy. №2. M.: FITs IU RAN 2015. pp. 1-28

7. Rogozov Y., Grishchenko A., Sviridov A. Proceedings of 17th International Multidisciplinary Scientific Geoconference "Informatics, Geoinformatics and remote sensing". Vol.21. Albena, Bulgaria. 2017. pp. 425-432

8. Korpela M., Mursu A., Soriyan A., Eerola A., Häkkinen H., Toivanen M. IFIP Advances in Information and Communication Technology, January, 2004. pp. 453-471

9. Rogozov Yu. I. Promyshlennye ASU i kontrollery [Industrial Automatic Control Systems and Controllers]. M.: Izd-vo Nauchtekhlitizdat. 2013. No 2. p. 3947

10. Yudin G. E. Sistemnyy podkhod i printsip deyatel'nosti [System approach and activity principle]. M.: Nauka, 1978. р. 391.

i Надоели баннеры? Вы всегда можете отключить рекламу.