
Автоматическое тестирование изменений БД (DDL, DML)
В высоконагруженном проекте любое изменение несёт в себе заметные риски сбоя или деградации производительности. Мы видим, как растёт сложность систем, количество серверов БД, релизов в неделю, автоматизация всего и вся в CI/CD pipelines, контейнерах, Kubernetes.
Но вот когда речь заходит о тестировании изменений в БД — от банального добавления индекса до сложных, почти «хирургических» операций вроде замены в первичного ключа int4 на int8 в многотерабайтной таблице под нагрузкой — тут налицо отставание технологий и методологий. В лучшем случае изменения проверяются визуально, и тут уж всё зависит от опыта и усталости проверяющего.
В докладе мы расскажем как мы (Postgres.ai) закрываем этот вопрос с помощью нашего решения Database Lab:
- моментальная выдача независимых тонких клонов для многотерабайтных БД, готовых к проверкам,
- интеграция в существующие CI/CD-инструменты и рабочий процесс,
- сбор метрик, наиболее важных для принятия решения об одобрении/отклонении изменения (и даже автоматическое отклонения совсем опасных действий).
Видео
Другие доклады
-
Арсений Шер Postgres Professional Разработчик
Консенсус, Postgres, Мультимастер
Postgres Pro Multimaster - это расширение Postgres (и набор патчей для ядра), обеспечивающее высокую доступность (HA) со строгой согласованностью и масштабируемостью чтения. Он образует симметричный кластер без общего доступа, синхронно реплицирующий данные и автоматически выполняющий аварийное восстановление. В течение последнего года мы приложили значительные усилия, чтобы убедиться и доказать, что согласованность сохраняется во всех сценариях. Новая версия, которая будет выпущена как часть Postgres Pro Enterprise 13, использует алгоритм Paxos для определения результата транзакции и оригинальный протокол, управляющий процессом восстановления; мы использовали TLA+ и TLC model checker для проверки его правильности. Я расскажу, как все это работает и почему в некоторых случаях multimaster может быть привлекательной альтернативой традиционным HA решениям на основе потоковой репликации.
Multimaster теперь имеет открытый исходный код и доступен по адресу: https://github.com/postgrespro/mmts
Чтобы сделать доклад менее узкоспециализированным и более привлекательным для широкой аудитории, в первой части я расскажу о том, как в целом современные СУБД (в основном так называемые NewSQL СУБД) обеспечивают отказоустойчивость. В частности, я остановлюсь на следующих моментах:
что такое строго согласованная СУБД и какие накладные расходы с этим связаны; что такое распределённый консенсус, Paxos, Raft; как они здесь помогают?
Я не буду пытаться объяснять какие-либо алгоритмы построчно; это едва ли осмысленно с учетом ограничений по времени, и на эту тему есть много полезной литературы. Цель здесь скорее в том чтобы познакомить с областью и задать в ней ориентиры.
-
Василий Пучков ООО Главный эксперт
Разработка интеграционной базы производственных данных нефтебаз на базе PostgreSQL
Архитектурный подход как основа устойчивого решения. Старые и новые технологии - единство и борьба противоположностей. Информационная безопасность и требования бизнеса - есть ли компромисс?
-
Andreas Scherbaum Pivotal Principal Software Engineer
Управление PostgreSQL с помощью Ansible
Ansible — открытый бесплатный инструмент для управления конфигурацией и развёртываниями, который можно применять для управления серверами и установленным на них программным обеспечением. В данном докладе мы вкратце обсудим сам Ansible, а затем объясним, как использовать его для установки и настройки PostgreSQL на сервере. Примеры будут демонстрироваться на протяжении всего доклада.
-
Анастасия Лубенникова Postgres Professional Разработчик
Встроенное секционирование в PostgreSQL
В этом докладе мы сравним встроенное декларативное секционирование PostgreSQL со сторонними расширениями pg_pathman и pg_partman, чтобы понять каких возможностей пока не хватает в ядре. Кроме того, я расскажу, над какими фичами в этой области сейчас активно работает сообщество и чего можно ожидать в релизе PostgreSQL14.