Бекап 1.5K кластеров с помощью pg_probackup
Без резервного копирования эксплуатация PostgreSQL недопустима. Постоянный рост количества кластеров PostgreSQL в эксплуатации создает всё новые и новые проблемы и вскрывает узкие места в выбранной схеме резервного копирования. Мы обсудим наш опыт эксплуатации pg_probackup в этих условиях.
Слайды
Видео
Видео доступно участникам мероприятия, выполнившим вход в личный кабинет
Другие доклады
-
Олег Бартунов Postgres Professional генеральный директорНикита Глухов Postgres Professional Старший разработчик
Элегантный поиск ближайших соседей в PostgreSQL
С необходимостью эффективного поиска ближайших соседей можно встретиться в разных задачах, например, поиск ближайших к заданной точке объектов на карте. Задача, на непрограммистский взгляд кажущаяся тривиальной (действительно, человек довольно легко справляется с ней глядя на карту) , на самом деле не имеет общего и доступного решения, что приводит к головной боли разработчиков, которые придумывают ad hoc решения (вставляют костыли). Эти решения, обычно некрасивые, портят настроение творческой натуры программиста, которому требуется посещение пивной, чтобы пережить когнитивный диссонанс :)
Действительно, если у человека есть карта, у которой есть определенный масштаб, и характерный размер поля зрения, то у программиста есть только координаты заданной точки и множество точек, которых может быть очень много (миллиарды звезд !), и к которому может идти большое количество конкурентных запросов, причем не только на чтение. Язык SQL позволяет очень красиво записать запрос, но реальный план его выполнения удручает - требуется прочитать всю таблицу, вычислить все расстояния от заданной точки, отсортировать по убыванию и оставить требуемое количество записей. Наличие индексов не спасает, а только приводит к полному обходу поискового дерева и чтения всей таблицы в случайном порядке, что гораздо медленнее простого чтения таблицы.
В действительности, класс задач, в которых требуется эффективный поиск ближайших соседей, гораздо шире задач пространственного поиска, например, задачи классификации, задачи поиска очепяток, кластеризации, дедупликации данных. Все они могут сильно выиграть от поддержки эффективного поиска ближайших соседей в СУБД, которые являются в настоящее время де-факто стандартом хранения данных. Эффективный поиск означает быстрый, конкурентный, масштабируемый поиск и поддержку различных типов данных (возможно, нестандартных), что и было реализовано 11 лет назад в PostgreSQL. Я расскажу про его реализацию, современное состояние и примеры использования.
-
Даниил Захлыстов Яндекс.Облако Разработчик
Сжатие протокола PostgreSQL: текущий статус
Сжатие протокола PostgreSQL уже длительное время обсуждается в сообществе. За это время было высказано и протестировано множество различных гипотез, а патч на сжатие получил большое количество изменений и улучшений. В этом докладе я рассмотрю различные подходы, протестированные в ходе реализации сжатия протокола, а также расскажу про текущий статус.
-
Брюс Момжиан EnterpriseDB Senior Database Architect
Postgres и вызовы будущего
На протяжении нескольких десятков лет Postgres остаётся динамично развивающимся проектом. Вероятно, его популярность сохранится и в последующих десятилетиях. Тем не менее, как и в случае с любым другим сложным процессом, перед СУБД PostgreSQL появляются вызовы. В настоящем докладе мы исследуем вызовы будущего, которые могут помешать росту популярности Postgres - технические, проектные, конкурентные. Исследуя эти проблемы сегодня, мы сможем избежать их последствий в будущем.
-
Иван Фролков Postgres Professional инженер-консультант
Надежная реализация сложной бизнес-логики с помощью pgpro_scheduler
В расширении pgpro_scheduler есть интересная, но малоизвестная возможность - одноразовые задания. Несмотря на простоту, эта возможность вполне может быть использована для реализации сложной транзакционной обработки, что позволяет с одной стороны надежно исполнять задачи, выполняющиеся весьма продолжительное время, а с другой - надежно масштабировать приложения при соблюдении ряда условий.