Сравнительный анализ индексационных стратегий в PostgreSQL при различных сценариях нагрузки

Обложка

Цитировать

Полный текст

Аннотация

Предметом исследования является эффективность различных индексационных стратегий, реализованных в PostgreSQL, и их влияние на производительность операций SELECT, UPDATE и INSERT в условиях различных масштабов данных. Объектом исследования выступают индексы B-Tree, GIN и BRIN, применяемые для оптимизации работы баз данных. Автор подробно рассматривает такие аспекты темы, как временные характеристики выполнения операций, размер индексов и их ресурсоемкость. Особое внимание уделяется влиянию объема данных на производительность индексов и их пригодности для работы с различными типами данных, включая JSONB. Исследование направлено на систематизацию знаний о применении индексов для повышения эффективности работы высоконагруженных систем, где требуется оптимизация операций доступа, обновления и вставки данных, а также анализ потребления ресурсов. Ведущим методом исследования является эмпирический подход, включающий разработку тестовой базы данных с таблицами orders, customers и products. Эксперименты проводились для операций SELECT, UPDATE и INSERT на малых, средних и больших объемах данных. Для анализа использовались метрики времени выполнения запросов и размера индексов, полученные с использованием инструментов PostgreSQL. Новизна исследования заключается в комплексном сравнении индексов B-Tree, GIN и BRIN в PostgreSQL с учетом не только временных характеристик выполнения запросов, но и их влияния на размер базы данных и общую нагрузку на систему. В отличие от существующих исследований, сосредоточенных на отдельных аспектах индексирования, данная работа рассматривает эффективность различных типов индексов в условиях изменяющейся нагрузки и различных категорий операций. Основными выводами проведённого исследования являются рекомендации по выбору индексов в зависимости от типов запросов и условий их выполнения. Индексы B-Tree подтвердили свою универсальность, демонстрируя высокую производительность для операций SELECT и UPDATE. GIN-индексы показали преимущества для работы с JSONB-данными, но их использование ограничено высокой ресурсоемкостью. BRIN-индексы доказали свою эффективность для больших объемов данных, особенно для операций SELECT. Особым вкладом автора в исследование темы является создание рекомендаций для разработчиков баз данных, что позволяет повышать производительность приложений за счёт оптимального выбора индексационной стратегии.

Об авторах

Дарья Юрьевна Золотухина

Email: dar.zolott@gmail.com
независимый исследователь

Список литературы

  1. Домбровская Г. Оптимизация запросов в PostgreSQL. М.: ДМК-Пресс, 2022.
  2. Mostafa A. S. A Case Study on B-Tree Database Indexing Technique // Journal of Soft Computing and Data Mining. 2020. № 27-3. URL: https://penerbit.uthm.edu.my/ojs/index.php/jscdm/article/view/6828 (дата обращения: 10.01.2025).
  3. Borodin A., Mirvoda S., Porshnev S., Ponomareva O. Improving generalized inverted index lock wait times // Journal of Physics: Conf. 2018. №944. URL: https://iopscience.iop.org/article/10.1088/1742-6596/944/1/012022/pdf (дата обращения: 10.01.2025).
  4. Borodin A., Mirvoda S., Kulikov I., Porshnev S. Optimization of Memory Operations in Generalized Search Trees of PostgreSQL // Communications in Computer and Information Science. 2017. № 716. URL: https://link.springer.com/chapter/10.1007/978-3-319-58274-0_19 (дата обращения: 10.01.2025).
  5. Рогов Е. В. PostgreSQL 16 изнутри. М.: ДМК Пресс, 2024.
  6. Морозов С. В., Нестеров С. А. Сравнительный анализ типов индексов в СУБД SQL Server и PostgreSQL // SAEC. 2024. № 2. С. 485–491.
  7. Селиванов Е. О. Сравнение типов индексов в различных системах управления базами данных // Молодежь и наука: актуальные проблемы фундаментальных и прикладных исследований: Материалы VI Всероссийской национальной научной конференции молодых учёных. Комсомольск-на-Амуре: Комсомольский-на-Амуре государственный университет, 2023. С. 357–361.
  8. Кудашов А. С., Агапова В. А., Дьячков Д. А., Казакова И. А. Обзор типов индексов и их применение в системах управления базами данных // Современные цифровые технологии. Материалы II Всероссийской научно-практической конференции. Барнаул: Алтайский государственный технический университет им. И. И. Ползунова, 2023. C. 299–303.
  9. Documentation PostgreSQL 15 – URL: https://www.postgresql.org/docs/15/release-15-2.html (date of access: 10.01.2025).
  10. Сорокин В. Е. Хранение и эффективная обработка нечетких данных в СУБД PostgreSQL // Программные продукты и системы. 2017. № 4. URL: https://app.amanote.com/v4.1.10/research/note-taking?resourceId=Pprz23MBKQvf0Bhi37cu (дата обращения: 10.01.2025).
  11. B-tree индексы в базах данных на примере PostgreSQL. – URL: https://techtrain.ru/talks/e2273ec8ca2b4ea692c65318a50c4be5 (дата обращения: 10.01.2025).
  12. Меджидов Р. Г. Анализ многоколоночных индексов баз данных // Актуальные проблемы прикладной математики, информатики и механики : Сборник трудов Международной научной конференции. Воронеж : Научно-исследовательские публикации, 2019. C. 420–422.
  13. Богатов И. В. Эффективная оптимизация запросов в СУБД Postgres / Академическая публицистика. 2022. № 5-2. C. 59–64.

Дополнительные файлы

Доп. файлы
Действие
1. JATS XML

Согласие на обработку персональных данных с помощью сервиса «Яндекс.Метрика»

1. Я (далее – «Пользователь» или «Субъект персональных данных»), осуществляя использование сайта https://journals.rcsi.science/ (далее – «Сайт»), подтверждая свою полную дееспособность даю согласие на обработку персональных данных с использованием средств автоматизации Оператору - федеральному государственному бюджетному учреждению «Российский центр научной информации» (РЦНИ), далее – «Оператор», расположенному по адресу: 119991, г. Москва, Ленинский просп., д.32А, со следующими условиями.

2. Категории обрабатываемых данных: файлы «cookies» (куки-файлы). Файлы «cookie» – это небольшой текстовый файл, который веб-сервер может хранить в браузере Пользователя. Данные файлы веб-сервер загружает на устройство Пользователя при посещении им Сайта. При каждом следующем посещении Пользователем Сайта «cookie» файлы отправляются на Сайт Оператора. Данные файлы позволяют Сайту распознавать устройство Пользователя. Содержимое такого файла может как относиться, так и не относиться к персональным данным, в зависимости от того, содержит ли такой файл персональные данные или содержит обезличенные технические данные.

3. Цель обработки персональных данных: анализ пользовательской активности с помощью сервиса «Яндекс.Метрика».

4. Категории субъектов персональных данных: все Пользователи Сайта, которые дали согласие на обработку файлов «cookie».

5. Способы обработки: сбор, запись, систематизация, накопление, хранение, уточнение (обновление, изменение), извлечение, использование, передача (доступ, предоставление), блокирование, удаление, уничтожение персональных данных.

6. Срок обработки и хранения: до получения от Субъекта персональных данных требования о прекращении обработки/отзыва согласия.

7. Способ отзыва: заявление об отзыве в письменном виде путём его направления на адрес электронной почты Оператора: info@rcsi.science или путем письменного обращения по юридическому адресу: 119991, г. Москва, Ленинский просп., д.32А

8. Субъект персональных данных вправе запретить своему оборудованию прием этих данных или ограничить прием этих данных. При отказе от получения таких данных или при ограничении приема данных некоторые функции Сайта могут работать некорректно. Субъект персональных данных обязуется сам настроить свое оборудование таким способом, чтобы оно обеспечивало адекватный его желаниям режим работы и уровень защиты данных файлов «cookie», Оператор не предоставляет технологических и правовых консультаций на темы подобного характера.

9. Порядок уничтожения персональных данных при достижении цели их обработки или при наступлении иных законных оснований определяется Оператором в соответствии с законодательством Российской Федерации.

10. Я согласен/согласна квалифицировать в качестве своей простой электронной подписи под настоящим Согласием и под Политикой обработки персональных данных выполнение мною следующего действия на сайте: https://journals.rcsi.science/ нажатие мною на интерфейсе с текстом: «Сайт использует сервис «Яндекс.Метрика» (который использует файлы «cookie») на элемент с текстом «Принять и продолжить».