title

text

Андрей Черняков
Андрей Черняков UIS, CoMagic Разработчик баз данных, техлид
: декабря
40 мин

pg_migration - система работы с кодом, как не дать программистам все сломать

Мы долгое время катили релизы на базы данных руками. Но когда их количество стало больше 50, выкладывать релизы руками стало больно, даже при наличии скриптов. Стало понятно, что нужен какой-то инструмент. Так как готовые инструменты нам не подошли, мы решили написать свою систему на основе пайплайнов ci/cd в gitlab.

В результате получилась удобная система работы с кодом: - автоматические проверки практически не дают сделать что-то не правильно (plpgsql_check, авто-тесты и т.д.) - исключается возможность расхождения кода в живой БД и в репозитории - включает в себя несколько утилит (написанных на python), которые можно использовать как в пайплайнах, так и непосредственно из консоли - поддерживаются два режима раскатки релизов: по кнопке из gitlab и полностью автоматический (по ключевому слову auto_deploy в сообщении к коммиту)

Видео

Видео доступно участникам мероприятия, выполнившим вход в личный кабинет

Другие доклады

  • Анатолий Анфиногенов
    Анатолий Анфиногенов ВНИИЖТ Зам. директора научного центра - начальник отдела разработки ПО
    40 мин

    Диапазонные типы в Postgres

    После того, как импортозамещение состоялось, можно немного перевести дух и заняться дальнейшим развитием нашего приложения. При этом оказывается, что Postgres - это не упрощенная версия Oracle, как могло показаться некоторым в процессе миграции, а самобытная СУБД, заметно его превосходящая во многих вопросах.

    Поговорим о диапазонных типах - одном из бриллиантов в короне Postgres, про которые, как оказалось, знают далеко не все разработчики.

    Диапазонные типы позволяют эффективно решать задачи, которые в реляционной модели традиционно решались довольно громоздко; например, ведение календарей событий или объектов, поддержка версионности объектов, поиск перекрывающихся или покрывающих диапазонов, построение огибающей для системы ограничений, проверка выполнения сложных диапазонных условий и т.п.

    В докладе рассматривается решение нескольких типовых для диапазонных типов задач, что может быть полезно при проектировании новых и развитии существующих приложений.

  • Николай Шаплов
    Николай Шаплов Postgres Professional Fuzzing Engeener
    40 мин

    Fuzzing-исследование PostgreSQL. Как мы искали и что мы нашли

    Фаззинг-исследование, это когда мы подаем в программу (или ее часть) случайные входные данные (на самом деле случайность весьма условна) и смотрим что из этого получится. И так много раз на многих процессорах.

    Фаззинг исследование большого монолитного программного комплекса всегда не простая задача требующая неординарных решений. В этом докладе я расскажу что и как мы искали при помощи фаззинга и к каким результатам оно привело.

    Исследование функций парсинга типов данных (input-функции): для разогрева;
    Исследование функций реализующих операции между типами (op-функции): тут лучше учитывать структуру;
    Фаззинг сетевой подсистемы: давайте притворимся, что мы POSIX-вызовы, так дешевле;
    Восстановление дискового контекста: нужен день сурка.
    

  • А
    Андрей Лепихов
    Алена Рыбакина
    Алена Рыбакина Postgres Professional Разработчик
    40 мин

    Перепланирование безнадежных запросов в реальном времени

    В настоящее время приложения с автоматически генерируемыми запросами получают все большее распространение, однако это приводит к тому, что оптимизаторы современных СУБД из-за некоторых ограничений не могут найти оптимальный план их выполнения. Поэтому это вынуждает выполнять их в течение длительного времени. В основном эта ошибка возникает из-за неправильной оценки мощности, что еще хуже, ошибка может повторяться оптимизатором снова и снова. В нашем повествовании мы расскажем о весьма нетрадиционной попытке решения этой проблемы методом перепланирования запросов, который путем анализа дерева выполнения запроса с сохранением фактической мощности, использует знания для генерации более корректного плана запроса.

  • Андрей Пауков
    Андрей Пауков ООО «ФОРС – Центр разработки» Ведущий инженер
    Денис Леонтьев
    Денис Леонтьев ФОРС-Центр разработки ведущий инженер
    П
    Павел Баев ФОРС-Центр разработки Инженер
    40 мин

    Диагностика производительности базы данных PostgreSQL / Diagnostics of PostgreSQL database performance

    ЦТП ФОРС имеет более чем 30 летний опыт поддержки промышленных СУБД на основе Oracle, последние 9 лет мы оказываем услуги по PostgreSQL. Накопленную за много лет методику применяем в нашей работе. В докладе делаем обзор с примерами использования штатного инструментария диагностики производительности СУБД и ОС. Представляем собственный инструмент PGARM, и как он помогает нам вести диагностику замедлений, в том числе в реальном времени.


    FORS Center of Technical Support with over 30 years of experience in supporting Oracle-based RDBMS has been providing support services for PostgreSQL-based DBMS for the last 9 years. We leveraged our extensive experience gained over many years while developing our PGARM tool. In the presentation we provide a comparison between standard tools for diagnosing DBMS and OS performance and our PGARM. Today we would like to present our own tool: PGARM and to demonstrate how it can help you diagnose slowdowns, including real time diagnostics.