Разработка

Database


Алексей Ключников
Разработчик @ XiMAD
Ульяновск

1. Трафик команд вместо трафика данных

2. Шардинг

3. Масштабируемость

4. Интерактивность

5. Упрощение и ускорение разработки


Алексей Лесовский
PostgreSQL Database Administrato @ DataEgret
Екатеринбург
GitLab PostgresMortem: Lessons Learned
из Голосование

31 января 2017 года у GitLab случилась авария связанная с эксплуатацией СУБД PostgreSQL. Результатом аварии стало частичное удаление данных и остановка проекта на время восстановления. К счастью команда повела себя очень открыто и предоставила исчерпывающие материалы по этой аварии. В предоставленной информации рассказано что произошло, какие предпринимались меры для восстановления и какие меры будут предприняты для предотвращения подобных аварий. Основной целью этого доклада является детальный разбор постмортема - который был представлен GitLab'ом, выделение ключевых моментов, попытка проанализировать их и предложить меры как следовало бы действовать. Также я рассмотрю меры которые команда GitLab планирует сделать для предотвращения таких инцидентов в будущем. Доклад будет полезен администраторам баз данным и системным администраторам которые потенциально могут столкнуться с аварийными ситуациями в PostgreSQL.


Иванов Дмитрий
Developer @ Postgres Professional
Москва

Секционирование в PostgreSQL - давно ожидаемый функционал. И хотя в Postgres возможно реализовать секционирование через наследование, такой подход имеет ряд недостатков, таких как необходимость вручную создавать секции и поддерживать триггеры, значительные накладные расходы на планирование и отсутствие оптимизаций времени выполнения. В докладе мы расскажем про расширение pg_pathman, над которым мы работаем.

pg_pathman поддерживает HASH и RANGE секционирование и выполняет оптимизации на этапах планирования и исполнения, поддерживает быструю вставку за счет отказа от триггеров в пользу Custom Node, содержит функции для управления секциями (add, split, merge и др.), шардинг на основе FDW, неблокирующую миграцию данных и другие возможности.

Мы также расскажем об интеграции pg_pathman в PostgresPro Enterprise Edition и поддержку Oracle-подобного синтаксиса для секционирования. В завершение мы расскажем о новых возможностях секционирования в PostgreSQL 10, что реализовано и пути дальнейшего развития.


Максим Милютин
программист @ Postgres Professional
Ульяновск

Реализация Foreign Data Wrapper позволяет обращаться к удалённым серверам с подзапросами в рамках текущего запроса. Данный механизм вкупе с секционированием (в том числе, при помощи расширения pg_pathman) позволяет организовать распределённое хранилище больших таблиц преимущественно для тяжёлых аналитических запросов.

В данном докладе в рамках мастер-класса продемонстрируется такой способ горизонтального масштабирования базы данных, а также проведётся сравнение с существующими решениями шардинга в PostgreSQL.