Продвинутые техники pg_upgrade
На сегодняшний день утилита командной строки pg_upgrade является наиболее популярным инструментом для обновления между мажорными версиями Postgres. Однако помимо достоинств, у неё есть и известные проблемы. Одна из наиболее критичных: что делать, если произошёл сбой? Цель данного доклада - раскрыть те маленькие секреты, благодаря которым любой из слушателей сможет существенно улучшить процесс выполнения обновлений.
Мы начнём с обсуждения базового режима фунционирования pg_upgrade. Потом мы изучим то, что позволяет обновить многотерабайтный кластер за считанные минуты. В конце мы обсудим те самые ситуации сбоя, которых все боятся, а также разберёмся, что делать в случае их возникновения, чтобы обрести уверенность и определённость.
Список подтем доклада приведён ниже:
- Как работает pg_upgrade? Общая картина
- О pg_upgrade (вызов из командной строки)
- аргументы и опции
- Пошаговое выполнение обновления
- О репликации на основе РОЛИ
- с атрибутом REPLICATION
- с атрибутом LOGIN
- Опции для обновления: копирование или жёсткие ссылки?
- Что делать после обновления?
- о производительности
- об анализе
- о команде REPACK
- о переиндексации
- Когда что-то идёт не так, и точка невозврата уже пройдена (пройдена ли?)
- Обновляем РЕПЛИКУ
- Метод по умолчанию: pg_basebackup
- Продвинутый метод:
- - используем rsync
предупреждение: закольцовка vacuum
Видео
Другие доклады
-
Henrietta Dombrovskaya Braviant Holdings Зам.директора по СУБД
NORM - фреймворк без ORM
Хорошо известно, что, хотя производительность базы данных велика и каждый запрос выполняется за миллисекунды, общее время отклика приложения может быть медленным, поэтому пользователи могут долго ждать ответа. Мы знаем, что проблема не в базе данных, а в том, как разработчики приложений с ней общаются. В частности, речь идет об ORM - Object-Relational Mappers. Разработчики баз данных ненавидят их, но разработчики приложений любят их, потому что они позволяют разрабатывать приложения без каких-либо знаний о внутреннем устройстве СУБД. В результате производительность системы часто оказывается неприемлемо низкой.
Единственный способ изменить это - предоставить разработчикам приложений такой же простой в использовании инструмент, как ORM, но позволяющий избежать распространенных ошибок ORM. Вот почему мы разработали NORM - No-ORM Framework. Во время этой презентации мы рассмотрим примеры кода из репозитория https://github.com/hettie-d/NORM и узнаем, как создавать «транспортные объекты» для эффективной передачи данных между приложениями и базами данных.
-
Дмитрий Долгов Zalando SE Senior Software Engineer
Сколько нужно инженеров, чтобы скобки заработали?
Недавно появившийся в PostgreSQL, jsonb subscripting не выглядит так же захватывающе, как другие улучшения в jsonb. Но те изменения, которые видны пользователю - всего лишь верхушка айсберга. Как много людей было вовлечено в разработку, и какие решения были сделаны в дизайне? Как много времени это заняло, и какие хорошие/плохие идеи существуют для продвижения патча? Эти и несколько других вопросов будут целью это презентации.
-
Иван Панченко Postgres Professional рзаместитель генерального директора
Новости и роудмап СУБД Postgres Pro
Сооснователь Postgres Professional расскажет о работе компании над СУБД Postgres Pro, опишет её отличия от PostgreSQL и обозначит направления её дальнейшего развития.
-
Mahmoud SAKR université libre de bruxelles ProfessorEsteban Zimányi ULB Профессор
Управление данными подвижных объектов с MobilityDB
MobilityDB - это расширение PostgreSQL and PostGIS для работы с движущимися объектами. В нём определяются типы данных и функции для полноценной работы с геопространственными траекториями. Основной тип данных - tgeompoint (темпоральная геометрическая точка). Она представляет собой полную траекторию движения точки - автомобиля, птицы или человека. Функция speed(tgeompoint) вычисляет скорость точки как функцию времени, в форме tfloat (темпоральное число с плавающей точкой). Подобным образом в MobilityDB определяется 6 темпоральных типов и около 300 функций. Благодаря этому, MobilityDB представляет собой весьма функциональную платформу для управления подвижными данными.
В этом мастер-классе Вы:
- узнаете о базах данных подвижных объектов
- напишете SQL запросы для MobilityDB для изучения базы траекторий объектов
- ознакомитесь с типами данных, функциями и индексами MobilityDB.