title

text

Анатолий Солдатов
Анатолий Солдатов Компания - ЗАО ЛАНИТ Старший разработчик баз данных
16:45 06 февраля
22 мин

Как деплоить в 5 раз быстрее или рассказ о нашей реализации параллельного выполнения миграций в Liquibase

Liquibase - очень удобный инструмент последовательных миграций баз данных, используемый как на наших проектах, так и в большом числе других проектов и фреймворков. Он позволяет держать код базы вместе с кодом приложения в VSC, отслеживать попытки повторных миграций и много-много чего еще. Но рано или поздно проект вырастает, данные занимают терабайты, а liquibase все еще накатывает миграции последовательно.

Мы не смогли позволить себе деплоиться по 100 часов и придумали тулзу (фреймворк) для liquibase, которая расширяет его возможности и позволяет выполнять паралллельно целый ряд скриптов или разбивать одну большую миграцию на маленькие партиции и параллельно мигрировать их.

Слайды

Видео

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

  • Дмитрий Сарафанников
    Дмитрий Сарафанников Яндекс Разработчик
    45 мин

    Как сохранить статистику при мажорном обновлении, и что за это бывает

    Ни для кого не секрет, что статистика не переносится при мажорном обновлении. Для небольших и не сильно нагруженных баз это не проблема, можно быстро собрать новую статистику. Но у нас есть базы объемом порядка 5ТБ и нагрузкой порядка 100k rps, для которых это стало большой проблемой: взлетая без статистики, реплики даже не могли накатывать WAL. В своем докладе расскажу, на какие хитрости мы пошли, чтобы произвести обновление этих баз в условиях требований 100% доступности read only, о том, какие ошибки допустили, и о том как эти ошибки мучительно исправляли. Результатом этих ошибок стало расширение pg_dirty_hands, в котором мы будем собирать различные хаки, которые можно назвать «фол последней надежды».

  • Игорь Успенский
    Игорь Успенский Rambler&Co Системный администратор
    45 мин

    PostgreSQL SaaS в Rambler&Co

    Rambler&Co - это множество изданий, сервисов и проектов. Появляются новые и растут существующие. Такой среде нужна надежная, отказоустойчивая, масштабируемая, автоматизированная система.

    Расскажу об устройстве нашего PostgreSQL SaaS, какие инструменты и технологии мы используем. Кворум из 3 Дата-центров. Единая точка входа для клиентов на основе динамической маршрутизации. Аварийное переключение мастера. Прозрачное масштабирование на чтение. Создание реплики без нагрузки на кластер. Прозрачный перенос PostgreSQL cluster на другие серверы. Актуализация dev окружения из prod для разработки. Резервное копирование с компрессией и использованием нескольких CPU на стороне database, восстановление одной БД из basebackup. Мониторинг sql запросов.

  • Christopher Travers
    Christopher Travers DeliveryHero SE Principle Engineer
    45 мин

    PostgreSQL на 20TB и выше

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

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

  • Михаил Балаян
    Михаил Балаян Acronis Chief Database Architect
    45 мин

    MVCC в картинках и когда длинные транзакции - это проблема

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