Details

Title Разработка библиотеки для работы с хронологическими типами данных для СУБД PostgreSQL: выпускная квалификационная работа бакалавра: направление 09.03.04 «Программная инженерия» ; образовательная программа 09.03.04_01 «Технология разработки и сопровождения качественного программного продукта»
Creators Варнавский Игорь Витальевич
Scientific adviser Прокофьев Олег Валерьевич
Organization Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и кибербезопасности
Imprint Санкт-Петербург, 2025
Collection Выпускные квалификационные работы ; Общая коллекция
Subjects postgresql ; rust ; хронологические типы данных ; операторы аллена ; временные интервалы ; temporal data types ; allens interval algebra ; time intervals
Document type Bachelor graduation qualification work
File type PDF
Language Russian
Level of education Bachelor
Speciality code (FGOS) 09.03.04
Speciality group (FGOS) 090000 - Информатика и вычислительная техника
DOI 10.18720/SPBPU/3/2025/vr/vr25-1157
Rights Доступ по паролю из сети Интернет (чтение, печать, копирование)
Additionally New arrival
Record key ru\spstu\vkr\35792
Record create date 7/30/2025

Allowed Actions

Action 'Read' will be available if you login or access site from another network

Action 'Download' will be available if you login or access site from another network

Group Anonymous
Network Internet

Тема выпускной квалификационной работы: «Разработка библиотеки для работы с хронологическими типами данных для СУБД 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.

Network User group Action
ILC SPbPU Local Network All
Read Print Download
Internet Authorized users SPbPU
Read Print Download
Internet Anonymous

Access count: 0 
Last 30 days: 0

Detailed usage statistics