Details
| Title | Исследование и верификация механизмов оптимизации хранения структуры данных jsonb в СУБД PostgreSQL 18: выпускная квалификационная работа бакалавра: направление 09.03.04 «Программная инженерия» ; образовательная программа 09.03.04_01 «Технология разработки и сопровождения качественного программного продукта» = Research and verification of mechanisms for optimizing the storage of the JSONB data structure in the PostgreSQL DBMS 18 |
|---|---|
| Creators | Грибкова Екатерина Михайловна |
| Scientific adviser | Прокофьев Олег Валерьевич |
| Organization | Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и кибербезопасности |
| Imprint | Санкт-Петербург, 2026 |
| Collection | Выпускные квалификационные работы ; Общая коллекция |
| Subjects | PostgreSQL ; TOAST ; JSONB ; JSON ; оптимизация ядра ; kernel optimization |
| Document type | Bachelor graduation qualification work |
| Language | Russian |
| Level of education | Bachelor |
| Speciality code (FGOS) | 09.03.04 |
| Speciality group (FGOS) | 090000 - Информатика и вычислительная техника |
| DOI | 10.18720/SPBPU/3/2026/vr/vr26-2704 |
| Rights | Доступ по паролю из сети Интернет (чтение, печать, копирование) |
| Additionally | New arrival |
| Record key | ru\spstu\vkr\42590 |
| Record create date | 8/21/2026 |
Allowed Actions
–
Action 'Read' will be available if administrator prepare required files
Action 'Download' will be available if you login or access site from another network
| Group | Anonymous |
|---|---|
| Network | Internet |
Дипломная работа посвящена адаптации и исследованию механизмов повышения производительности при работе с типом данных JSONB в PostgreSQL 18. Улучшение производится за счет реализации таких механизмов, как частичная декомпрессия, итеративный детоастинг, а также сортировка значений объектов по длине. Актуальность данной темы обусловлена большой популярностью PostgreSQL и типа JSONB, а также рядом существенных недостатков механизма TOAST, его фундаментальными ограничениями, негативно влияющими на производительность и поведение. Основная часть работы посвящена адаптации разработанных для PostgreSQL 15 модификаций к 18 версии. Выполнены такие модификации, как переработка внутреннего устройства JSONB, а также введение новых структур и функций, реализация итераторов для работы с разными стратегиями хранения значений, модификация алгоритма декомпрессии, внедрение сортировки, а также добавление GUC-переменных для управления данными оптимизациями и обратной совместимости. В ходе разработки было изменено более 100 файлов кода ядра СУБД. Полученные результаты были проверены. Результаты эксперимента показали значительное увеличение скорости запросов, достигая ускорения до 8 раз на определенных размерах ключей JSONB.
My thesis is dedicated to the adaptation and study of mechanisms for improving performance when working with a JSONB data type in PostgreSQL 18. Improvement is made through the implementation of mechanisms such as partial decompression, iterative decomposition, and sorting object values by length. The topicality of this topic is due to the high popularity of PostgreSQL and JSONB, as well as several significant flaws in the TOAST engine, its fundamental limitations that negatively affect performance and unpredictable behavior. The main part of the work is devoted to adapting the 15 modifications developed for PostgreSQL to 18 versions. Modifications such as the reworking of the internal JSONB device, as well as the introduction of new structures and functions, the implementation of iterators for working with different value storage strategies, the modification of decompression algorithm, the implementation of sorting, and also the addition of GUC-Variables to manage data optimizations and backward compatibility. More than 100 DBMS kernel code files were modified during development. The results were verified. The results of the experiment showed a significant increase in query speed, reaching an acceleration of up to 8 times at certain sizes of JSONB keys.
| Network | User group | Action |
|---|---|---|
| ILC SPbPU Local Network | All |
|
| Internet | Authorized users SPbPU |
|
| Internet | Anonymous |
|