Научная статья на тему 'СРАВНЕНИЕ ВРЕМЕНИ ОТКЛИКА РЕПЛИКАЦИИ MYSQL С MONGODB'

СРАВНЕНИЕ ВРЕМЕНИ ОТКЛИКА РЕПЛИКАЦИИ MYSQL С MONGODB Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
145
17
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
MYSQL / NOSQL (MONGODB) / PYTHON / DJANGO

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Зарипов А.К.

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

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

Текст научной работы на тему «СРАВНЕНИЕ ВРЕМЕНИ ОТКЛИКА РЕПЛИКАЦИИ MYSQL С MONGODB»

А.К. Зарипов

СРАВНЕНИЕ ВРЕМЕНИ ОТКЛИКА РЕПЛИКАЦИИ MYSQL С MONGODB

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

Ключевые слова: MySQL, NoSQL (MongoDB), Python, Django.

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

РСУБД отвечает важным требованиям: конфиденциальность, целостность и доступность. Чтобы решить проблему СУБД, Карло Строцци в 1998 году ввел термин «NoSQL», который относится к нереляционной базе данных. А в 2009 году Эрик Эванс вновь представил его.

Google, Amazon и Facebook - компании, которые первыми обнаружили ограничения технологии реляционных баз данных в соответствии с требованиями своих приложений.

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

MongoDB и MySQL будут настроены в CMD с минимальной конфигурацией, поддерживаемой фреймворком Python и с использованием фляги Django. Базы данных, созданные с помощью CMD, будут доступны с помощью приложений Mango Engine и MySQL Engine.

Структурированное программирование

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

Базы данных

аза данных - это набор связанных данных (взаимосвязанных данных), которые хранятся вместе на носителе. Данные хранятся определенным образом, чтобы их было легко использовать или восстанавливать. Данные могут оптимально использоваться одной или несколькими прикладными программами и могут храниться без зависимости от программы, которая их использует.

База данных NoSQL (нереляционная)

Использование NoSQL позволяет разработчикам приложений разрабатывать без необходимости преобразовывать структуры в памяти в реляционные. База данных NoSQL предназначена для решения проблемы «больших данных» за счет использования распределенных машин. Базы данных NoSQL также часто называют облачными базами данных, которые разработаны для решения проблемы реляционных баз данных, которые испытывают проблемы с производительностью при обработке неструктурированных данных, которые продолжают расти в геометрической прогрессии, таких как документы, электронная почта, мультимедиа или социальные сети.

MongoDB

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

MongoDB также является документно-ориентированной базой данных, состоящей из коллекций и набора документов. MongoDB сохраняет документы в формате BSON (двоичная форма JSON).

© Зарипов А.К., 2021.

MySQL

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

Python

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

Django

Django - это полнофункциональный фреймворк для создания веб-приложений с использованием языка программирования Python. Фреймворк поможет нам быстрее создавать веб-приложения, чем нежели писать код с нуля. Полный стек означает, что Django охватывает как интерфейс, так и серверную часть.

Исследование

В проекте распределенной системы, которая будет построена для этого сервера, используется репликация данных на базе SQL с открытым исходным кодом, называемая MySQL, с использованием Django настроек для конфигурации веб-сайта для обработки баз данных в веб-приложениях с помощью браузера.

Начальный этап конфигурации проекта - это репликация и просмотр времени ответа от веб-сервера Django. Настройка веб-сервера в Django представлена на рисунке 1

Рис. 1. Настройка веб-сервера в Django

После установки и настройки django выполняем настройку подключения. На сервере выполняем конфигурацию для получения соответствующего времени ответа о состоянии, представленная на рисунке 2.

C:\>cd testDjango C:\testDjango>ls

Include LICENSE.txt Lib Scripts tel C:\testDjango>cd Scripts

C:\testDjango\Scripts>ls

_pycache_ activ.psl deac

activ activ.xsh djar

activ.bat activ._this.py djar

C:\testDjango\Scripts>activ (testDjarigo) C:\testDjarigo\Scripts>cd C:\testDjango>cd .. (testDjarigo) C:\>ls '$Recycle.Bin' MSOCache

'Documents and Settings' PerfLogs Intel 'Program F:

IntelOptaneData 'Program F:

Keystore ProgramData Wind

deactiv.bat django-admin.exe django-admin.py

MSOCache PerfLogs 'Program Files' 'Program Files (x86)' Wind

(testDjango) C:\>cd tugasDjango (testDjango) C:\tugasDjango>ls securwa manage.py mongorouter.py

Рис. 2. Конфигурация сервера

tugasDjan

Далее заполняем необходимые данные в Django DataBase, которые предназначены для отправки их на репликацию. _

[Execution time: 0.000975s] [Database: default]

INSERT INTO 'testTable' ("NULL", 'fieldl', 'npm', "prograr

VALUES ('valueOne', '186009103', 1, "A", "l", "valueTwo_3:

[Execution time: 0.052803s] [Database: default]

QUERY = 'UPDATE "testTable" ("NULL", "fieldl", "npm", "pr<

%sj %sj %s)' - PARAMS = (9, "valueOne", '186009103', [Execution time: 0.018875s] [Database: mongodb] INSERT INTO "django_admin_log" ("action_time", "user_id~, VALUES ("2021-05-11 21:18:43.240526', 1, 8, '9', 'testDjai

Рис. 3. Время отклика MongoDB и Mysql

На рисунке выше показано время отклика от MongoDB и Mysql, база данных, полученная от них обоих, исходящая от Django. MondoDB уступает по времени отклика.

Бибилиографический список

1.The MongoDB 4.4 Manual - URL: https://docs.mongodb.com/manual/

2.Django documentation - URL: https://docs.djangoproject.eom/en/3.2/

3.Python 3.9.5 documentation - URL: https://docs.python.org/3/

4.Система управления базами данных - URL: https://ho stiq. ua/wiki/ database/

5.База данных NoSQL - URL: https://azure.microsoft.com/ru-ru/overview/nosql-database/

6.MySQL documentation - URL: https://dev.mysql.com/doc/

7.Команды CMD - URL: https://cmd-command.ru/komandy-cmd.html

8.MySQL Database Service - URL: https://www.oracle.com/ru/mysql/

ЗАРИПОВ АРТЁМ КАМИЛЕВИЧ - бакалавр, Мытищинский филиал Московский государственный технический университет им Н. Э. Баумана. Россия.

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