Практика обновления версий PostgreSQL
В большинстве своем, системные администраторы и ДБА бояться как огня делать мажорные обновления версий баз данных (RDBMS), особенно если эта база данных в эксплуатации и имеет достаточно высокую нагрузку. Главной причиной тому некоторый даунтайм базы данных, который всегда подразумевается при планировании таких работ.
На практике, такого рода upgrade занимает довольно длительное время и зачастую администраторам с малым опытом подобных операций приходится откатываться на старую версию баз данных из-за достаточно банальных ошибок, которые можно было бы избежать еще на этапе подготовки.
В Data Egret мы накопили огромный опыт проведения мажорных апгрейдов PostgreSQL в проектах, где нет права на ошибку. Я поделюсь своим опытом и расскажу о следующих шагах процесса: как правильно подготовиться к upgrade-у PostgreSQL? что необходимо сделать на этапе подготовки? как запланировать последовательность действий на сам upgrade? как провести процедуру upgrade-а успешно, без возврата на предыдущую версию бд? как минимизировать или вообще избежать простоя всей системы во время upgrade-а? какие действия необходимо выполнить после успешного upgrade-а PostgreSQL? Я также расскажу про две наиболее популярные процедуры апгрейда PostgreSQL - pg_upgrade и pg_dump/pg_restore, плюсы и минусы каждого из методов и расскажу про все типичные проблемы на всех этапах этой процедуры, и как их избежать.
Доклад будет интересен как новичкам так и тем ДБА которые уже давно работают с PostgreSQL, но хотят побольше узнать о том как правильно планировать и проводить upgrade максимально безболезненно.
Слайды
Видео
Другие доклады
-
Olivier Courtin DataPink Owner & DataScientist
Мастер-класс: продвинутый анализ пространственных данных с помощью PostgreSQL, PostGIS и Python
На мастер-классе будут рассмотрены: продвинутый анализ пространственных данных на чистом PostGIS, включая новейшие функции PostGIS; приведение в соответствие разных типов данных в PostgreSQL и Python (массивы в NumPy, таблицы в Pandas); секреты эффективной работы с инструментами и средами обработки данных (Jupyter, dataviz и др.); дальнейшее развитие с помощью GeoDataScience, библиотек и фреймворков Python, сочетаемых с PostgreSQL/PostGIS, включая технологии машинного и глубокого обучения.
-
Анатолий Солдатов Компания - ЗАО ЛАНИТ Старший разработчик баз данных
Как деплоить в 5 раз быстрее или рассказ о нашей реализации параллельного выполнения миграций в Liquibase
Liquibase - очень удобный инструмент последовательных миграций баз данных, используемый как на наших проектах, так и в большом числе других проектов и фреймворков. Он позволяет держать код базы вместе с кодом приложения в VSC, отслеживать попытки повторных миграций и много-много чего еще. Но рано или поздно проект вырастает, данные занимают терабайты, а liquibase все еще накатывает миграции последовательно.
Мы не смогли позволить себе деплоиться по 100 часов и придумали тулзу (фреймворк) для liquibase, которая расширяет его возможности и позволяет выполнять паралллельно целый ряд скриптов или разбивать одну большую миграцию на маленькие партиции и параллельно мигрировать их.
-
Кирилл Боровиков ООО "Компания "Тензор" Технический директор
explain.sbis.ru - массовая оптимизация запросов
Как оптимизировать производительность запросов в PostgreSQL? Как это делать, если серверов - сотни, а баз - тысячи? В "Тензоре" мы разработали для этого отдельный инструмент - explain.sbis.ru: - для синхронного сбора и анализа запросов - для визуализации планов выполнения - для мониторинга ошибок в БД
-
Иван Фролков Postgres Professional инженер-консультант
Pgpro_scheduler и криптовалютные транзакции
Pgpro_scheduler, помимо основной функции выполнение заданий по расписанию, способен выполнять цепочки связанных транзакций. Это может использоваться в различных сценариях асинхронной обработки данных.
Данный мастер-класс предназначен для демонстрации использования возможностей pgpro_scheduler для обеспечения надежной обработки последовательности транзакций на примере отправки криптовалют.
pgpro_scheduler – расширение, входящее в состав Postgres Pro Enterprise.