Как деплоить в 5 раз быстрее или рассказ о нашей реализации параллельного выполнения миграций в Liquibase
Liquibase - очень удобный инструмент последовательных миграций баз данных, используемый как на наших проектах, так и в большом числе других проектов и фреймворков. Он позволяет держать код базы вместе с кодом приложения в VSC, отслеживать попытки повторных миграций и много-много чего еще. Но рано или поздно проект вырастает, данные занимают терабайты, а liquibase все еще накатывает миграции последовательно.
Мы не смогли позволить себе деплоиться по 100 часов и придумали тулзу (фреймворк) для liquibase, которая расширяет его возможности и позволяет выполнять паралллельно целый ряд скриптов или разбивать одну большую миграцию на маленькие партиции и параллельно мигрировать их.
Слайды
Видео
Другие доклады
-
Григорий Смолкин Ozon Инженер
Резервное копирование PostgreSQL с помощью pg_probackup: высокая производительность и острая форма паранойи
Как бэкапировать PostgreSQL? Как хранить сделанные бэкапы? Как валидировать бэкап? Как валидировать PostgreSQL и можно ли ему вообще доверять? Можно ли доверять твоему инструменту? Как сделать всю эту паранойю удобной и производительной, если СУБД не помогает в этом деле? На какие компромиссы можно идти и на какие ни в коем случае нельзя? Создавая свой инструмент бэкапирования, мы были вынуждены искать ответы на эти и многие другие вопросы, о чем и хотелось бы рассказать.
-
Иван Картышов Postgres Professional Разработчик ядраДмитрий Иванов Postgres Professional Developer
Басня про тестирование и postgres
Однажды вот Питон и Слон
Вести тестирование взялись.
И вместе все в него впряглись!В нашей компании (Postges Professional) разрабатываются разные проекты: multimaster, pg_probackup, pg_pathman, pg_shardman, RUM, и другие. Совладать со всей этой оравой весьма непросто, поэтому нам необходим инструмент, который способен облегчить и ускорить написание всевозможных тестов.
В данном докладе мы расскажем о фреймворке testgres, написанном на Python, который уже позволил решить множество проблем и протестировать функциональность, которую нельзя так просто покрыть прямолинейными регрессионными тестами.
Вы узнаете, как при помощи нескольких строчек кода запускать узлы PostgreSQL, настраивать всевозможную репликацию и создавать бекапы, меняя параметры на лету, и про многое другое. Также мы расскажем, как эти возможности позволяют нам проверять "самые труднодоступные места" и улучшать качество наших продуктов.
Мы стремимся сделать testgres фреймворком для проведения функциональных тестов пользовательских запросов, хранимых процедур и прочей серверной логики, привнося практику TDD на уровнь разработки БД.
-
Christopher Travers DeliveryHero SE Principle Engineer
PostgreSQL на 20TB и выше
В последние шесть месяцев я работал с массивным OLAP окружением, охватывающим порядка 400TB данных. Приходите и узнайте, как мы заставили это все работать, с какими трудностями сталкивались и какие навыки нам потребовались.
Этот доклад будет иметь мало общего с докладом про 10TB и выше, так как среды данных значительно отличаются. Мы рассмотрим эффективность аналитики, выравнивание данных, причины для разработки расширений на С, перемещение данных между серверами в нескольких центрах обработки данных.
-
Иван Фролков Postgres Professional инженер-консультант
Управление потоками заданий в PostgresPro Enterprise
Нередко требуется выполнить асинхронно не одну транзакцию, а несколько в строго определенной последовательности. Для реализации подобного рода задач существует несколько решений, и одной из них - модуль pgpro_scheduler.