Научная статья на тему 'ИССЛЕДОВАНИЕ ПОИСКОВОЙ ОПТИМИЗАЦИИ НА ОСНОВЕ БАЗЫ ДАННЫХ ORACLE'

ИССЛЕДОВАНИЕ ПОИСКОВОЙ ОПТИМИЗАЦИИ НА ОСНОВЕ БАЗЫ ДАННЫХ ORACLE Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
102
11
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
БАЗА ДАННЫХ ORACLЕ / ЗАПРОС ДАННЫХ / ПОИСКОВАЯ ОПТИМИЗАЦИЯ / ИНСТРУКЦИЯ SQL

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Гладков А. К., Никольская Д. И.

Для удовлетворения информационных потребностей в финансовой, административной и других областях применяется технология Oracle database, а ее эффективные и точные функции запроса данных оказывают помощь всем слоям общества. Однако с увеличением объема информации структура системы баз данных Oracle становится все более сложной и хаотичной и даже оказывает серьезное влияние на стабильность работы базы данных. В целях повышения стабильности базы данных Oracle и дальнейшего повышения производительности поиска данных в данной статье исследуется оптимизация поиска на основе базы данных Oracle. Рассматривается схема оптимизации физического уровня и программного уровня системы Oracle, а также оптимизация инструкций SQL после настройки аппаратной структуры системы. В результате моделирования было обнаружено, что стабильность базы данных, а также время отклика и точность поискового запроса могут быть улучшены за счет улучшения структуры сервера баз данных и оптимизации инструкций SQL.

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

SEARCH ENGINE OPTIMIZATION RESEARCH BASED ON ORACLE DATABASE

Oracle database technology is used to meet information needs in financial, administrative and other areas, and its efficient and accurate data query functions help all segments of society. However, with the increase in the volume of information, the structure of the Oracle database system becomes more complex and chaotic and even has a serious impact on the stability of the database. In order to improve the stability of the Oracle database and further improve the performance of data retrieval, this article examines the optimization of search based on the Oracle database. The scheme of optimization of the physical layer and the software layer of the Oracle system is considered, as well as the SQL statement is optimized after configuring the hardware structure of the system. As a result of the simulation, it was found that the stability of the database, as well as the response time and accuracy of the search query can be improved by improving the structure of the database server and optimizing SQL statements.

Текст научной работы на тему «ИССЛЕДОВАНИЕ ПОИСКОВОЙ ОПТИМИЗАЦИИ НА ОСНОВЕ БАЗЫ ДАННЫХ ORACLE»

13. Поваляев А.А. Спутниковые радионавигационные системы: время, показания часов, формирование измерений и определение относительных координат. - М.: Радиотехника, 2008. - 328 с.

14. Антонович К.М. Использование спутниковых радионавигационных систем в геодезии: монография: в 2 т. Т. 1 / К.М. Антонович.

15. Антонович К.М. Использование спутниковых радионавигационных систем в геодезии: монография: в 2 т. Т. 2 / К.М. Антонович; ГОУ ВПО «Сибирская государственная геодезическая академия». - М.: ФГУП «Картгеоцентр», 2006. -360 с.

16. Волков Н.М. Глобальная спутниковая радионавигационная система ГЛОНАСС // Успехи современной радиоэлектроники, 1997. - № 1.

17. Решетнев М.Ф. Развитие спутниковых навигационных систем // Информационный бюллетень НТЦ «Интернавигация», 1992. - № Г-С. 6-10.

18. Анучин О.Н. Интегрированные системы ориентации и навигации для морских подвижных объектов. Под общ. ред. чл.-кор. РАН В.Г. Пешехонова. - СПб., ЦНИИ «Электроприбор», 1999. - 357 с.

19. агорского А.В., Ромашкиной Н.П. Проблемы информационной безопасности в международных военно-политических отношениях. - М.: ИМЭМО РАН, 2016. -183 с.

20. Стрельцова А. Методологические вопросы применения норм, правил и принципов ответственного поведения государств, призванных способствовать обеспечению открытой, безопасной, стабильной, доступной и мирной икт-среды. Исследовательский проект Международного исследовательского консорциума информационной безопасности, 2020. - 34 с

21. Градостроительный кодекс Российской Федерации от 24.12.2004 № 190-ФЗ (С изменениями и дополнениями) // Собрание законодательства Российской Федерации, 2004. - № 1.

22. Федеральный закон «О саморегулируемых организациях» от 01.12.2007 № 315-ФЗ (С изменениями и дополнениями) // Собрание законодательства Российской Федерации, 2007. - № 21.

23. Дроздова И.В. Проблемы саморегулируемых организаций (СРО) в строительстве // Проблемы современной экономики, 2012. - № 1. - С. 235-236.

ИССЛЕДОВАНИЕ ПОИСКОВОЙ ОПТИМИЗАЦИИ НА ОСНОВЕ БАЗЫ

ДАННЫХ ORACLE

А.К. Гладков, Московский технический университет связи и информатик, Gl.Al.K@ya.ru;

Д.И. Никольская, Московский технический университет связи и информатики, darinanikolskaa@icloud.com.

УДК 004.657_

Аннотация. Для удовлетворения информационных потребностей в финансовой, административной и других областях применяется технология Oracle database, а ее эффективные и точные функции запроса данных оказывают помощь всем слоям общества. Однако с увеличением объема информации структура системы баз данных Oracle становится все более сложной и хаотичной и даже оказывает серьезное влияние на стабильность работы базы данных. В целях

повышения стабильности базы данных Oracle и дальнейшего повышения производительности поиска данных в данной статье исследуется оптимизация поиска на основе базы данных Oracle. Рассматривается схема оптимизации физического уровня и программного уровня системы Oracle, а также оптимизация инструкций SQL после настройки аппаратной структуры системы. В результате моделирования было обнаружено, что стабильность базы данных, а также время отклика и точность поискового запроса могут быть улучшены за счет улучшения структуры сервера баз данных и оптимизации инструкций SQL.

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

SEARCH ENGINE OPTIMIZATION RESEARCH BASED ON ORACLE

DATABASE

А. K. Gladkov, Moscow technical university of communications and informatics; D.I. Nikolskaya, Moscow technical university of communications and informatics.

Annotation. Oracle database technology is used to meet information needs in financial, administrative and other areas, and its efficient and accurate data query functions help all segments of society. However, with the increase in the volume of information, the structure of the Oracle database system becomes more complex and chaotic and even has a serious impact on the stability of the database. In order to improve the stability of the Oracle database and further improve the performance of data retrieval, this article examines the optimization of search based on the Oracle database. The scheme of optimization of the physical layer and the software layer of the Oracle system is considered, as well as the SQL statement is optimized after configuring the hardware structure of the system. As a result of the simulation, it was found that the stability of the database, as well as the response time and accuracy of the search query can be improved by improving the structure of the database server and optimizing SQL statements.

Keywords: Oracle database; data query; search engine optimization; SQL statement.

Введение

Система баз данных Oracle стала наиболее широко использоваться из-за ее превосходной мультиплатформенной совместимости и хорошей переносимости [1]. В дополнение к поддержке многочисленных платформ и высокой универсальности Oracle database также обладает мощными и всеобъемлющими возможностями управления данными [2]. Основываясь на этих преимуществах, Oracle database играет важную роль во многих областях. Особенно в условиях сегодняшнего стремительного развития информационных технологий ценность данных постоянно повышается, и им уделяется все больше и больше внимания [3].

С развитием различных отраслей промышленности объем хранения данных становится все более и более обширным, а структура системы баз данных также постоянно расширяется, совершенствуется и становится все более сложной. Для данных стабильность хранения очень важна, но со сложностью аппаратной структуры на стабильность сильно влияет проектирование программной системы, а оно в свою очередь становится все более сложным [4, 5]. За счет повышения производительности аппаратной структуры устраняются физические ограничения производительности базы данных. Однако полная реализация производительности зависит от взаимодействия программного обеспечения с аппаратным.

Эффективность выполнения различных алгоритмических инструкций сильно отличается. Поэтому, чтобы еще больше повысить производительность системы баз данных Oracle, необходимо оптимизировать и усовершенствовать аппаратную структуру и алгоритм ^¿-инструкций на физическом уровне и программном уровне одновременно [6].

Время отклика, пропускная способность и частота обращений к

системе

Время отклика системы

Чтобы получить необходимую информацию с помощью технологии запросов к базе данных, пользователям необходимо отправить запрос на сервер базы данных, то есть инструкции SQL с инструкциями запроса и целевой информацией [7]. Отсчет времени начинается с момента отправки клиентом запроса на сервер. База данных получает информацию запроса, выполняет поиск и сортировку целевой информации, а затем возвращает результат с сервера клиенту. Когда клиент получает возвращенный результат, отсчет времени заканчивается. Этот период времени определяется как время отклика системы, то есть время, затрачиваемое системой сервера баз данных на возврат результатов пользовательских запросов. Порядок величины обычно составляет миллисекунду или секунду [8].

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

SRT = IST - PET, (1)

где: SRT - время отклика системы, IST - время отправки инструкции, PET - время окончания обработки.

Пропускная способность системы

Чтобы отразить скорость обработки инструкций SQL определяется понятие пропускной способности системы: отношение общего количества инструкций, проанализированных базой данных за определенный период времени, ко времени, затраченному на процесс анализа [9]. Из его определения можно видеть, что пропускная способность отражает вычислительную мощность сервера. Для того же количества задач время отклика сервера базы данных с большой пропускной способностью меньше, чем у сервера с малой пропускной способностью. Выражение для данного параметра выглядит следующим образом:

IPN

TPS = —, (2)

тс' v '

где: TPS - пропускная способность системы, IPN - количество обработанных команд, TC -затраченное время.

Частота обращений к системе

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

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

FD

SHR = —, (3)

TAD' v '

где: SHR - частота обращений к системе, ED - эффективный объем информации, TAD - общие данные анализа.

Эффект оптимизации сервера SQL

Предпосылки тестирования

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

Таблица 1.

Технология запросов к базе данных Oracle Технология запроса разделов данных

Технология индексации данных

Запрос инструкции SQL

В подавляющем большинстве случаев используется индексная технология, реализация которой основана на списке данных для создания индексного каталога. Индекс - это вспомогательный объект, построенный на основе столбца таблицы, в котором хранится указатель на строку в таблице для уникального идентификатора конкретной строки в базе данных. Технология индексных запросов позволяет эффективно сократить операции дискового ввода-вывода, уменьшить время отклика на запросы, а также повысить производительность системы и вычислительную мощность [10-12].

Оптимизация контента

Изменение инструкции SQL может повысить эффективность выполнения. Оптимизация и регулировка памяти и буфера сервера баз данных также способствует повышению эффективности.

Тестовые данные

В качестве тестовых данных использовались данные платформы управления лизингом с общим объемом данных 1Тбайт, тестировался эффект оптимизации Oracle database. Поиск влияет на параметры до и после сбора и сравнения результатов оптимизации.

Поисковая оптимизация базы данных Oracle

Анализ результатов оптимизации

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

На рис. 1 можно видеть, что различные объекты оптимизации достигают различных эффектов во всем процессе от базы данных, получающей запрос, до клиента, получающего результат запроса, возвращаемый сервером. Память - это единица хранения данных в базе данных. Все виды функций базы данных неотделимы от поддержки памяти. Таким образом, производительность памяти, включая стабильность, скорость чтения-записи и так далее, играет важную роль в производительности всей системы баз данных. Кэш - это высокоскоростная память, используемая для хранения выполняемой операции или адреса хранения общих объектов. Вычислительная мощность основного процессора сервера баз данных намного выше, чем у другого оборудования. Если емкость кэша достаточно велика, он может хранить больше адресов содержимого, к которому часто обращается центральный процессор, чтобы обеспечить более быстрый анализ и выполнение операций для доступа и работы с центральным процессором, упростить процесс адресации, сократить время ожидания центрального процессора, повысить эффективность выполнения задач и значительно сократить время отклика системы. Среди результатов оптимизации памяти, кэша и инструкции SQL оптимизация инструкции SQL имеет наилучший эффект оптимизации, а система запросов имеет самую высокую скорость отклика. В системе баз данных Oracle операторы SQL составляют значительную долю. Однако своевременность разных алгоритмов сильно отличается. Путем корректировки структуры алгоритма оператора SQL время отклика системы запросов может быть значительно улучшено. На рис. 2 показан коэффициент повышения производительности базы данных.

До оптимизации Оптимизация Оптимизация Оптимизация памяти буфера ЭОЬ-инструкций

—Коэффициент повышения производительности

Рисунок 2

Согласно коэффициенту улучшения производительности базы, данных Oracle с помощью различных схем оптимизации, эффект оптимизации производительности блока хранения данных существенный, а производительность улучшена на 10,4 %, но она все еще ниже, чем схема оптимизации для других структур. Однако улучшение аппаратной производительности блока хранения расширяет физические ограничения системы и создает больше возможностей для улучшения эффекта оптимизации программного обеспечения. Ядром анализа команд и сопоставления данных является центральный процессор. За счет увеличения емкости и производительности кэша можно повысить эффективность процессора и минимизировать потери производительности. Архитектура программного обеспечения определяет конкретный режим работы функции системы баз данных, а улучшение структуры памяти и буфера повышает потенциал оптимизации программного обеспечения. На линейном графике можно видеть, что оптимизация программной системы, то есть выполнение инструкций SQL, может повысить производительность системы до 26,4 %.

Оптимизация SQL-инструкций

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

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

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

• Выбор дополнительных операторов where, чтобы заменить операторы having. Oracle database необходимо использовать больше операторов having, но уровень выполнения оператора having в операторе select ниже, что значительно снижает эффективность работы Oracle database. Если время использования инструкции having может быть максимально ограничено и поиск базы данных Oracle может быть сокращен перед выполнением инструкции having, бесполезные данные могут быть отфильтрованы перед

группировкой инструкций SQL. Это делает последующую операцию группировки менее дорогостоящей.

Оптимизация кэша

Вспомогательными буферами являются кэш словаря, кэш буфера данных и кэш библиотеки. Среди нескольких вспомогательных буферов кэш словаря и кэш библиотеки составляют новый уровень структуры, который называется общим пулом. Процесс кэширования базы данных Oracle заключается в основном в настройке структуры и размера каждого буфера в глобальной области системы. Как упоминалось выше, для достижения высокоскоростного доступа к данным в глобальной области системы, когда производительность глобальной области системы не может соответствовать требованиям, необходимо провести структурную оптимизацию. Настройка кэша в основном относится к настройке структуры и емкости памяти, которая составляет глобальную область системы, для повышения производительности системы в целом.

Оптимизация памяти

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

Заключение

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

Литература

1. Karpathiotakis M., Floratou A., Ozcan F., Aila- maki A. No data left behind: real-time insights from a complex data ecosystem, in: Proceedings of the 2017 Symposium on Cloud Computing, 2017. - pp. 108-120.

2. Giannakouris V., Papailiou N., Tsoumakos D., Koziris N. Musqle: Distributed sql query execution over multiple engine environments, in: 2016 IEEE International Conference on Big Data (Big Data), IEEE, 2016. - pp. 452-461.

3. Deshpande A., Hellerstein J.M. Decoupled query optimization for federated database systems, in: Proceedings 18th International Conference on Data Engineering, IEEE, 2002.

- pp. 716-727.

4. Marcus R., Negi P., Mao H., Zhang C., Al- izadeh M. Neo: A learned query optimizer, arXiv preprint arXiv:1904.03711, (2019).

5. Sheth A.P., Larson J.A. Federated database sys- tems for managing distributed, heterogeneous, and autonomous databases, ACM Computing Surveys (CSUR) 22 (1990).

- pp. 183-236.

6. Болябкин М. В. Разработка и внедрение общего анализатора SQL // Международный журнал гуманитарных и естественных наук, 2022. - № 1-1(64). -С. 55-61. - DOI 10.24412/2500-1000-2022-1-1-55-61. - EDN PRDDVT.

7. Li H, Liu H, Liu Y, et al. An object-relational IFC storage model based on oracle database [j]. International Archives of the Photogrammetry Remote Sensing & S, 2016, XLI-B2:625-631.

8. Joseph S.R., Hlomani H, Letsholo K. Data Mining Algorithms: An Overview [J]. Neuroence, 2016, 12(3):719-43.

9. Ender Sevin9, Ahmet Co§ar. An Evolutionary Genetic Algorithm for Optimization of Distributed Database Queries [J]. Computer Journal, 2018, 54(5):717-725.

10. Стружкин Н.П. Базы данных: проектирование: Учебник для академического бакалавриата. - Люберцы: Юрайт, 2016. - 477 c.

11. Преснякова Г.В. Проектирование интегрированных реляционных баз данных: Учебное пособие. - М.: КДУ, 2007. - 224 c.

12. Малыхина, М.П. Базы данных: основы, проектирование, использование. -СПб.: BHV, 2007. - 528 c.

13. Морган С. Проектирование и оптимизация доступа к базам данных Microsoft SQL Server 2005. - М.: Русская редакция, 2008. - 480 c.

ПРОТОТИП ОПТИМИЗАТОРА ФЕДЕРАТИВНЫХ ЗАПРОСОВ

А.К. Гладков, Московский технический университет связи и информатики Gl.Al.K@ya.ru;

Д.А. Панов, Московский технический университет связи и информатики, panov135@mail.ru.

УДК 004.657_

Аннотация. Цель данной статьи - представить новый способ для создания оптимизатора федеративных запросов, основанный на машинном обучении. Предлагается модульная гибкая архитектура, позволяющая федеративному оптимизатору запросов интегрироваться с любой системой баз данных, поддерживающей язык структурированных запросов, практически без инженерных затрат. Наблюдая за производительностью внешних систем, оптимизатор изучает и строит модели затрат, обеспечивая оптимизацию объединенных запросов при незначительном взаимодействии с внешними системами. Чтобы продемонстрировать потенциал этого плана исследований, представлен прототип оптимизатора федеративных запросов, построенного при помощи Spark SQL. Реализация эффективно ускоряет федеративные запросы, увеличивая время выполнения запросов до 7,5 раз по сравнению со стандартной реализацией Spark SQL.

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

Ключевые слова: федеративная обработка запросов; оптимизация запросов; машинное обучение; SQL; база данных.

PROTOTYPE OF THE FEDERATED QUERY OPTIMIZER

А.К. Gladkov, Moscow technical university of communications and informatics; D.A. Panov, Moscow technical university of communications and informatics.

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