Детальная информация
Название | Разработка библиотеки для работы с хронологическими типами данных для СУБД PostgreSQL: выпускная квалификационная работа бакалавра: направление 09.03.04 «Программная инженерия» ; образовательная программа 09.03.04_01 «Технология разработки и сопровождения качественного программного продукта» |
---|---|
Авторы | Варнавский Игорь Витальевич |
Научный руководитель | Прокофьев Олег Валерьевич |
Организация | Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и кибербезопасности |
Выходные сведения | Санкт-Петербург, 2025 |
Коллекция | Выпускные квалификационные работы ; Общая коллекция |
Тематика | postgresql ; rust ; хронологические типы данных ; операторы аллена ; временные интервалы ; temporal data types ; allens interval algebra ; time intervals |
Тип документа | Выпускная квалификационная работа бакалавра |
Тип файла | |
Язык | Русский |
Уровень высшего образования | Бакалавриат |
Код специальности ФГОС | 09.03.04 |
Группа специальностей ФГОС | 090000 - Информатика и вычислительная техника |
DOI | 10.18720/SPBPU/3/2025/vr/vr25-1157 |
Права доступа | Доступ по паролю из сети Интернет (чтение, печать, копирование) |
Дополнительно | Новинка |
Ключ записи | ru\spstu\vkr\35792 |
Дата создания записи | 30.07.2025 |
Разрешенные действия
–
Действие 'Прочитать' будет доступно, если вы выполните вход в систему или будете работать с сайтом на компьютере в другой сети
Действие 'Загрузить' будет доступно, если вы выполните вход в систему или будете работать с сайтом на компьютере в другой сети
Группа | Анонимные пользователи |
---|---|
Сеть | Интернет |
Тема выпускной квалификационной работы: «Разработка библиотеки для работы с хронологическими типами данных для СУБД PostgreSQL». Данная выпускная квалификационная работа посвящена реализации библиотеки-расширения, которое содержит набор хронологических операций для работы с интервальными типами в реляционной СУБД. Задачи, которые решались в ходе разработки: 1.Выбор СУБД и средств разработки для реализации функций и операторов 2.Определение типов внутри СУБД, для разрабатываемых функций 3.Создание необходимого уровня абстракции 4.Определение математического аппарата для формализации запросов 5.Реализация хронологических операций Была выбрана СУБД PostgreSQL из-за наличия в ней поддержки интервальных типов данных. Реализованные операторы поддерживают полиморфизм и все стандартные хронологические интервальные типы PostgreSQL. В качестве средства разработки был выбран язык Rust и библиотека PGRX. Rust обеспечивает безопасное управление памятью, что исключает многие ошибки, PGRX предоставляет удобные механизмы для реализации различных аспектов работы с PostgreSQL. В результате библиотека была реализована как встраиваемое в PostgreSQL расширение. Полученный уровень абстракции универсален и подходит для решения многих задач. Он реализован в соответствие с подходом про хронологизации К. Дж. Дейта. В математическом аппарате были даны четкие определения понятиям “интервал времени”, “временная шкала”. Были реализованы, операторы Аллена, обобщения стандартных реляционных операторов, функции PACK и UNPACK, операторы U_MINUS, U_INTERSECT, U_UNION и U_EQAULS для работы с несколькими отношениями. В результате тестирования было определено, что потери производительности не происходит, реализованные в расширении функции показывают более высокую скорость выполнения, чем функции написанные на SQL. Для достижения данных результатов в работе были использованы следующие информационные технологии: СУБД PostgreSQL, язык программирования и средство сборки Rust, Cargo, инструменты разработки Git и Docker, веб-сервис для хостинга Github.
This final qualification work is dedicated to the implementation of an extension library that provides a set of temporal operations for working with interval types in a relational database management system. The following tasks were addressed during the development process: 1.Selection of the DBMS and development tools for implementing the functions and operators 2.Definition of internal data types within the DBMS for the developed functions 3.Creation of an appropriate level of abstraction 4.Determination of the mathematical framework for query formalization 5.Implementation of temporal operations PostgreSQL was chosen as the DBMS due to its native support for interval data types. The implemented operators support polymorphism and are compatible with all standard PostgreSQL temporal interval types. Rust, along with the PGRX library, was selected as the development tool. Rust offers safe memory management, preventing many common errors, while PGRX provides convenient mechanisms for implementing various aspects of PostgreSQL functionality. As a result, the library was implemented as a PostgreSQL extension. The developed abstraction layer is universal and suitable for solving a wide range of problems. It was implemented in accordance with C.J. Date’s temporal modeling approach. Within the mathematical framework, clear definitions were provided for concepts such as "time interval" and "time scale." Implemented features include Allen’s interval algebra operators, generalized standard relational operators, and the PACK and UNPACK functions, U_MINUS, U_INTERSECT, U_UNION and U_EQUALS operators for working with several relations. As a result of testing it was determined that there is no performance loss, functions implemented in the extension show higher execution speed than functions written in SQL. The following information technologies were used to achieve these results: PostgreSQL DBMS, Rust programming language and build system (Cargo), development tools (Git and Docker), and the GitHub web-based hosting service.
Место доступа | Группа пользователей | Действие |
---|---|---|
Локальная сеть ИБК СПбПУ | Все |
|
Интернет | Авторизованные пользователи СПбПУ |
|
Интернет | Анонимные пользователи |
|
Количество обращений: 0
За последние 30 дней: 0