Детальная информация
| Название | Оптимизация вставки JSONB-данных в PostgreSQL путём предварительной валидации и нормализации на стороне приложения: выпускная квалификационная работа бакалавра: направление 09.03.04 «Программная инженерия» ; образовательная программа 09.03.04_03 «Разработка программного обеспечения» = Optimizing the insertion of JSONB data into PostgreSQL through preliminary validation and normalization on the application side |
|---|---|
| Авторы | Назарова Ксения Андреевна |
| Научный руководитель | Прокофьев Олег Валерьевич |
| Организация | Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и кибербезопасности |
| Выходные сведения | Санкт-Петербург, 2026 |
| Коллекция | Выпускные квалификационные работы ; Общая коллекция |
| Тематика | postgresql ; jsonb ; оптимизация вставки ; предварительная валидация ; нормализация данных ; pydantic ; производительность субд ; insert optimization ; pre-validation ; data normalization ; dbms performance |
| Тип документа | Выпускная квалификационная работа бакалавра |
| Язык | Русский |
| Уровень высшего образования | Бакалавриат |
| Код специальности ФГОС | 09.03.04 |
| Группа специальностей ФГОС | 090000 - Информатика и вычислительная техника |
| DOI | 10.18720/SPBPU/3/2026/vr/vr26-701 |
| Права доступа | Доступ по паролю из сети Интернет (чтение) |
| Дополнительно | Новинка |
| Ключ записи | ru\spstu\vkr\40082 |
| Дата создания записи | 20.04.2026 |
Разрешенные действия
–
Действие 'Прочитать' будет доступно, если вы выполните вход в систему или будете работать с сайтом на компьютере в другой сети
| Группа | Анонимные пользователи |
|---|---|
| Сеть | Интернет |
Данная работа посвящена исследованию методов повышения производительности операций вставки полуструктурированных данных в формате JSONB в СУБД PostgreSQL 18.1.2 и разработке программного решения, реализующего подход предварительной обработки на стороне приложения. Задачи, которые решались в ходе исследования: 1. Исследовать существующие программные решения и подходы к валидации и оптимизации работы с JSONB-данными в PostgreSQL. 2. Проанализировать инструментарий PostgreSQL 18.1.2 для работы с JSONB и выявить узкие места, влияющие на производительность вставки. 3. Разработать гибридный метод и алгоритм предварительной валидации, нормализации JSONB-данных на стороне клиентского приложения. 4. Провести сравнительный анализ производительности классических методов вставки и предложенного оптимизированного подхода. 5. Разработать программный модуль на Python с использованием Pydantic v2 и Psycopg 3, провести его тестирование и апробацию на модельных данных систем мониторинга. Работа выполнена с использованием современного технологического стека: язык программирования Python 3.12, библиотека валидации Pydantic v2, асинхронный драйвер для PostgreSQL Psycopg 3, СУБД PostgreSQL 18.1.2, среда администрирования DBeaver. В результате исследования была разработана и реализована концепция переноса вычислительно затратных операций валидации, приведения типов и канонизации структуры JSON из слоя СУБД на уровень приложения. Предложенный алгоритм обеспечивает преобразование входящих «сырых» JSON-данных в оптимизированный бинарный формат, готовый для максимально быстрой вставки в PostgreSQL. Для оценки эффективности был проведен комплексный эксперимент, в ходе которого сравнивались базовый сценарий (валидация средствами СУБД) и оптимизированный сценарий (предварительная обработка в приложении) на объемах данных 500 000 записей. Практическая значимость работы заключается в возможности внедрения разработанного решения в высоконагруженные системы реального времени, предъявляющие строгие требования к скорости и надежности обработки данных, такие как: • Системы мониторинга параметров ядерного контура атомных электростанций (АЭС). • Системы сейсмического контроля и мониторинга конструкций в строительстве. Применение подхода позволяет существенно разгрузить сервер базы данных, увеличить общую пропускную способность системы и обеспечить стабильную работу в условиях пиковых нагрузок, что критически важно для объектов критической инфраструктуры.
The given work is devoted to the study of methods for improving the per-formance of insertion operations of semi-structured data in JSONB format in the PostgreSQL 18.1.2 DBMS and the development of a software solution that im-plements the pre-processing approach on the application side. The research set the following goals: 1. Research of existing software solutions and approaches to validation and optimization of work with JSONB data in PostgreSQL. 2. Analysis of the PostgreSQL 18.1.2 tools for working with JSONB and identification of bottlenecks affecting insertion performance. 3. Development of a hybrid method and algorithm for pre-validation, type normalization, and canonical sorting of JSON data on the client application side. 4. Comparative analysis of the performance of classical insertion methods and the proposed optimized approach. 5. Development of a Python software module using Pydantic v2 and Psycopg 3, testing and approbation on model data from monitoring systems. The work was performed using a modern technology stack: Python 3.12 programming language, Pydantic v2 validation library, asynchronous driver for PostgreSQL Psycopg 3, PostgreSQL 18.1.2 DBMS, DBeaver administration en-vironment. As a result of the research, the concept of transferring computationally ex-pensive validation operations, typecasting, and canonization of the JSON struc-ture from the DBMS layer to the application layer was developed and imple-mented. The proposed algorithm ensures the conversion of incoming "raw" JSON data into an optimized binary format, ready for the fastest possible inser-tion into PostgreSQL. To evaluate the effectiveness, a comprehensive experiment was conducted, during which the basic scenario (validation by DBMS) and the optimized scenar-io (preprocessing in the application) were compared on data volumes 500,000 records. The practical significance of the work lies in the possibility of implement-ing the developed solution in highly loaded real-time systems that impose strict requirements on the speed and reliability of data processing, such as: • Systems for monitoring the parameters of the nuclear circuit of nuclear power plants (NPP). • Systems of seismic control and monitoring of structures in construction. The application of the approach makes it possible to significantly unload the database server, increase the overall throughput of the system and ensure stable operation under peak loads, which is critically important for critical infra-structure facilities.
| Место доступа | Группа пользователей | Действие |
|---|---|---|
| Локальная сеть ИБК СПбПУ | Все |
|
| Интернет | Авторизованные пользователи СПбПУ |
|
| Интернет | Анонимные пользователи |
|