Details

Title Улучшение производительности JSONB в PostgreSQL за счет доработки TOAST: выпускная квалификационная работа бакалавра: направление 09.03.04 «Программная инженерия» ; образовательная программа 09.03.04_03 «Разработка программного обеспечения» = Improving JSONB Performance in PostgreSQL by Enhancing the TOAST Mechanism
Creators Прощина Юлия Сергеевна
Scientific adviser Прокофьев Олег Валерьевич
Organization Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и кибербезопасности
Imprint Санкт-Петербург, 2026
Collection Выпускные квалификационные работы ; Общая коллекция
Subjects postgresql ; jsonb ; оптимизация запросов ; субд ; toast ; query optimization ; dbms
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-691
Rights Доступ по паролю из сети Интернет (чтение)
Additionally New arrival
Record key ru\spstu\vkr\40072
Record create date 4/20/2026

Allowed Actions

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

Group Anonymous
Network Internet

Данная работа посвящена исследованию и оптимизации механизмов хранения и обработки типа данных JSONB в системе управления базами данных PostgreSQL. Задачи, которые решались в ходе исследования: 1) Изучение механизма хранения JSONB в PostgreSQL 18; 2) Анализ существующих подходов к оптимизации хранения и обработки JSONB, реализованных Postgres Pro в версии PostgreSQL 14; 3) Модификация исходного кода PostgreSQL 18 для оптимизации работы с JSONB; 4) Тестирование PostgreSQL 18 без доработок, модифицированной версии PostgreSQL 18, PostgreSQL14 с модификациями от Postgres Pro. В ходе исследования был проведен анализ оптимизации работы с JSONB от Postgres Pro на версии PostgreSQL 14. На основе проведённого анализа был модифицирован исходный код PostgreSQL 18. Реализованные изменения направлены на оптимизацию запросов к коротким ключам JSONB без ухудшения производительности. Для оценки эффективности предложенных доработок проведено тестирование стандартной версии PostgreSQL 18, модифицированной версии PostgreSQL 18 и PostgreSQL 14 с доработками от Postgres Pro. Полученные результаты показали сокращение времени выполнения запросов к коротким ключам JSONB в модифицированной версии PostgreSQL 18 по сравнению с базовой версией. В процессе выполнения работы использовались следующие информационные технологии и программные средства: контейнерная платформа Docker, система сборки make, среда разработки CLion, система контроля версий Git. Разработка и тестирование проводилось в операционной системе Debian Bookworm.

This work is devoted to the study and optimization of storage and processing mechanisms for the JSONB data type in the PostgreSQL database management system. The following tasks were addressed during the research: 1. Studying the JSONB storage mechanism in PostgreSQL 18; 2. Analyzing existing approaches to optimizing JSONB storage and processing implemented by Postgres Pro in PostgreSQL version 14; 3. Modifying the PostgreSQL 18 source code to optimize JSONB processing; 4. Testing the unmodified PostgreSQL 18, the modified PostgreSQL 18, and PostgreSQL 14 with Postgres Pro modifications. During the study, the JSONB optimization approaches implemented in PostgreSQL 14 by Postgres Pro were analyzed. Based on this analysis, the PostgreSQL 18 source code was modified. The implemented changes are aimed at optimizing queries to short JSONB keys without degrading overall performance. To evaluate the effectiveness of the proposed improvements, performance testing was conducted on the standard PostgreSQL 18, the modified PostgreSQL 18, and PostgreSQL 14 with Postgres Pro enhancements. The results demonstrated a reduction in query execution time for short JSONB keys in the modified PostgreSQL 18 compared to the baseline version. During the work, the following information technologies and software tools were used: the Docker container platform, the make build system, the CLion integrated development environment, and the Git version control system. Development and testing were carried out on the Debian Bookworm operating system.

Network User group Action
ILC SPbPU Local Network All
Read
Internet Authorized users SPbPU
Read
Internet Anonymous
  • ВВЕДЕНИЕ
  • ГЛАВА 1. АНАЛИЗ МЕХАНИЗМОВ ХРАНЕНИЯ JSONB В POSTGRESQL
    • 1.1. История развития PostgreSQL
    • 1.2. Особенности и преимущества PostgreSQL
    • 1.3. Особенности формата JSON
    • 1.4. Популярность PostgreSQL
    • 1.5. Развитие PostgreSQL в России
    • 1.6. JSONB и его отличия от JSON
    • 1.7. Хранение данных в PostgreSQL
    • 1.8. Хранение данных большого объема в PostgreSQL с помощью механизма TOAST
    • 1.9. Сжатие данных в PostgreSQL
    • 1.10. Особенности хранения больших значений JSONB в PostgreSQL
  • ГЛАВА 2. АНАЛИЗ ПОДХОДА К ХРАНЕНИЮ JSONB ПРЕДЛОЖЕННЫЙ POSTGRES PRO ДЛЯ POSTGRESQL 14
    • 2.1. Обобщенная модель представления JSON -данных
    • 2.2. Обзор нововведений
    • 2.3. Частична декомпрессия
    • 2.4. Сортировка ключей по длине
    • 2.5. Результаты изменений
  • ГЛАВА 3. МОДИФИКАЦИЯ JSONB ДЛЯ ПОВЫШЕНИЯ ПРОИЗВОДИТЕЛЬНОСТИ В POSTGRESQL 18
    • 3.1. Частичная декомпрессия
    • 3.2. Сортировка ключей по длине
  • ГЛАВА 4. ТЕСТИРОВАНИЕ И АНАЛИЗ ПОЛУЧЕННЫХ РЕЗУЛЬТАТОВ
    • 4.1. Сборка Docker-контейнеров
    • 4.2. Тестирование сборок PostgreSQL
    • 4.3. Анализ результатов
  • ЗАКЛЮЧЕНИЕ
  • СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ

Access count: 0 
Last 30 days: 0

Detailed usage statistics