Хранимые процедуры как один из способов повышения производительности информационной системы | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 27 апреля, печатный экземпляр отправим 1 мая.

Опубликовать статью в журнале

Автор:

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №44 (334) октябрь 2020 г.

Дата публикации: 28.10.2020

Статья просмотрена: 196 раз

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

Абсатаров, Р. Н. Хранимые процедуры как один из способов повышения производительности информационной системы / Р. Н. Абсатаров. — Текст : непосредственный // Молодой ученый. — 2020. — № 44 (334). — С. 4-5. — URL: https://moluch.ru/archive/334/74556/ (дата обращения: 18.04.2024).



В данной статье рассматривается влияние механизма хранимых процедур на производительностьинформационной системы при работе с базами данных.

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

Ни одно достаточно сложное приложение применяющее, базу данных, не обходится без использования хранимых процедур.

Хранимая процедура представляет собой подпрограмму, хранящуюся в базе данных. Такая подпрограмма может иметь набор входных параметров, а результатом ее работы является ряд манипуляций над базой данных: добавление, удаление, редактирование, просмотр хранимых записей.

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

Хранимые процедуры позволяют отказаться от использования внешних скриптов, при автоматизации сложных процессов на уровне MySQL. Такой подход имеет высокую скорость выполнения, благодаря снижению количества отправляемых запросов [2]. Достаточно всего лишь вызвать необходимую процедуру.

Преимущества использования хранимых процедур:

  1. Разделение логики выполнения с другими программами. Хранимые процедуры инкапсулируют функциональность, это обеспечивает связность между данными и управления ими между собой.
  2. Изоляция пользователя от таблиц, что способствует защите базы данных и обеспечивает доступ не к данным из базы, а к хранимым процедурам. Обеспечение данного механизма защиты доступ к данным можно получить только при помощи процедуры, и никто не сможет удалить данные с использованием запроса delete.
  3. Улучшение выполнения, а как следствие сокращение используемого трафика. С помощью хранимых процедур можно объединить несколько запросов.
  4. Использование процедур для большинства реляционных СУБД, хранимые процедуры InterBase могут играть роль полноценных наборов данных, что позволяет использовать создаваемые им процедуры и их результаты в обычных SQL — запросах.
  5. Приложения, которые обращаются к одной базе данных, могут использовать одну процедуру, что позволит избавиться от двойного кода, уменьшая код программы и устраняя потенциальные ошибки.
  6. Если используемая процедура подверглась изменениям и внесениям ряда различных поправок, то эти изменения автоматически будут отображаться во всех приложениях, которые используют данную процедуру, что обеспечивает их согласованность. При этом нет необходимости зонного перекомпилировать приложения.

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

  1. Повышение нагрузки на сервер, так как процедура компилируется и исполняется не на клиентской стороне, а на стороне сервера. Значит необходимо контролировать и оптимизировать выполнение хранимых процедур.
  2. Дублирование логики приложения в нескольких местах: код на сервере и код для хранимых процедур, тем самым усложняется процесс манипулирования данными.
  3. Сложность при миграции из одной СУБД в другую, что может привести к проблемам.

Несмотря на то, что хранимые процедуры реализуются на стороне сервера, они позволяют существенно оптимизировать его работу и повысить ее скорость. Это становится возможным благодаря тому, что код процедуры после первого ее выполнения сохраняется в кэше оперативной памяти [3]. Таким образом, для дальнейших вызовов, процедура будет извлекается из кэша, в место того, чтобы снова выполняться.

Также хранимые процедуры увеличивают скорость выполнения запросов, поскольку они не требуют компиляции — они хранятся уже в скомпилированном виде.

Применение хранимых процедур позволяет скрывать логику выполнения запросов, реализуя принцип «черного ящика», в который на вход подается набор параметров, а на выходе получается результат [4].

Как говорилось ранее: применение хранимых процедур переносит нагрузку с клиентской стороны, на сторону сервера, из этого можно сделать вывод, что применение хранимых процедур оправдано в том, случае, когда один сервер, обслуживает большой поток клиентов. В там случае, повышение нагрузки на сервер является оправданной мерой, это позволяет сократить используемый трафик, за счет снижения количества информации, передаваемой между клиентом и сервером [5]. Как правило, от клиентов поступает большое количество однотипных запросов, поэтому сохраненные в кэше выполняемые процедуры приведут к значительному приросту производительности системы в целом.

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

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

Литература:

  1. В. Ю. Пирогов. Информационные системы и базы данных. Организация и проектирование. — СПб.: БХВ-Петербург, 2009. — 528 с.
  2. С. Д. Кузнецов. Основы баз данных. — М.: Бином. Лаборатория знаний, Интернет-университет информационных технологий, 2007. — 488 с.
  3. В.Дунаев. Базы данных. Язык SQL для студента. — СПб.: БХВ-Петербург, 2012. — 320 с.
  4. С. Н. Смирнов, А. В. Киселев. Практикум по работе с базами данных. — М.: Гелиос АРВ, 2012. — 160 с.
  5. И. А. Кумскова. Базы данных. — М.: КноРус, 2010. — 496 с.
Основные термины (генерируются автоматически): процедура, баз данных, сторона сервера, SQL, база данных, данные, используемый трафик, клиентская сторона, повышение нагрузки, хранимая процедура.


Ключевые слова

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

Похожие статьи

Анализ производительности и преимуществ разных подходов...

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

баз данных, клиентское приложение, источник данных, сервер...

База данных для Read DB для простоты была выбрана MS SQL. База данных не имеет связей между таблицами, а вместо связей в таблицах

Итогом новой применения новой архитектуры стало значительное увеличение нагрузки на приложение без увеличения времени ответа.

Исследование производительности ASP.NET-приложений

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

Разработка базы данных для отдела кадров в программе...

Последний этап моделирования базы данных — переход к физическому уровню модели, на котором модель также представлена в виде диаграммы (рис.5).

После генерации SQL-скрипта переходим к созданию базы данных Interbase (IBExpert) и заполнению таблиц данными.

Подходы к архитектурному проектированию веб-приложений

В данных фреймворках каждый созданный класс-модуль

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

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

Применение хранимых процедур в Entity Framework

А также можете использовать хранимые процедуры либо для получения данных или

Хранимая процедура представляет собой оформленный особым образом сценарий (вернее

Хранимые процедуры и определяемые пользователем функции (UDF) в базе данных...

Особенности применения баз данных и систем управления...

Ключевые слова: базы данных, SQL, СУБД, прикладная программа, данные, экономическая информация.

БД способны хранить информацию о десятках, сотнях тысяч и миллионах различных

База данных — организованная в соответствии с определёнными правилами и...

Технологии обработки больших данных | Статья в журнале...

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

Таблица данных для SQL.

Контроль изменений в структуре базы данных (БД), с последующим сохранением этих изменений обычно используется для того, чтобы с одной стороны автоматически выполнять какие-либо действия с данными, а с другой стороны решить следующие задачи [1,2]

Похожие статьи

Анализ производительности и преимуществ разных подходов...

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

баз данных, клиентское приложение, источник данных, сервер...

База данных для Read DB для простоты была выбрана MS SQL. База данных не имеет связей между таблицами, а вместо связей в таблицах

Итогом новой применения новой архитектуры стало значительное увеличение нагрузки на приложение без увеличения времени ответа.

Исследование производительности ASP.NET-приложений

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

Разработка базы данных для отдела кадров в программе...

Последний этап моделирования базы данных — переход к физическому уровню модели, на котором модель также представлена в виде диаграммы (рис.5).

После генерации SQL-скрипта переходим к созданию базы данных Interbase (IBExpert) и заполнению таблиц данными.

Подходы к архитектурному проектированию веб-приложений

В данных фреймворках каждый созданный класс-модуль

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

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

Применение хранимых процедур в Entity Framework

А также можете использовать хранимые процедуры либо для получения данных или

Хранимая процедура представляет собой оформленный особым образом сценарий (вернее

Хранимые процедуры и определяемые пользователем функции (UDF) в базе данных...

Особенности применения баз данных и систем управления...

Ключевые слова: базы данных, SQL, СУБД, прикладная программа, данные, экономическая информация.

БД способны хранить информацию о десятках, сотнях тысяч и миллионах различных

База данных — организованная в соответствии с определёнными правилами и...

Технологии обработки больших данных | Статья в журнале...

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

Таблица данных для SQL.

Контроль изменений в структуре базы данных (БД), с последующим сохранением этих изменений обычно используется для того, чтобы с одной стороны автоматически выполнять какие-либо действия с данными, а с другой стороны решить следующие задачи [1,2]

Задать вопрос