Автоматическое тестирование изменений БД (DDL, DML)
В высоконагруженном проекте любое изменение несёт в себе заметные риски сбоя или деградации производительности. Мы видим, как растёт сложность систем, количество серверов БД, релизов в неделю, автоматизация всего и вся в CI/CD pipelines, контейнерах, Kubernetes.
Но вот когда речь заходит о тестировании изменений в БД — от банального добавления индекса до сложных, почти «хирургических» операций вроде замены в первичного ключа int4 на int8 в многотерабайтной таблице под нагрузкой — тут налицо отставание технологий и методологий. В лучшем случае изменения проверяются визуально, и тут уж всё зависит от опыта и усталости проверяющего.
В докладе мы расскажем как мы (Postgres.ai) закрываем этот вопрос с помощью нашего решения Database Lab:
- моментальная выдача независимых тонких клонов для многотерабайтных БД, готовых к проверкам,
- интеграция в существующие CI/CD-инструменты и рабочий процесс,
- сбор метрик, наиболее важных для принятия решения об одобрении/отклонении изменения (и даже автоматическое отклонения совсем опасных действий).
Видео
Другие доклады
-
Иван Панченко Postgres Professional рзаместитель генерального директора
Новости и роудмап СУБД Postgres Pro
Сооснователь Postgres Professional расскажет о работе компании над СУБД Postgres Pro, опишет её отличия от PostgreSQL и обозначит направления её дальнейшего развития.
-
Ibrar Ahmed Percona LLC Senior Database Architect
Всё о безопасности PostgreSQL
В PostgreSQL реализованы различные уровни безопасности. Данный доклад посвящен всем доступным техникам обеспечения безопасности, используемым в PostgreSQL 13. Мы разберём, как обеспечить безопасность на стороне клиента (LibPq, JDBC) и на стороне сервера. В нем будут затронуты все поддерживаемые методы аутентификации, а также плюсы и минусы всех этих методов. Ниже приведены некоторые подтемы данного доклада:
- Введение в криптографию.
- SSL, TLS, GSSAPI и OpenSSL.
- Шифрование на стороне клиента.
- Обеспечение безопасной аутентификации.
- Защита данных на диске.
- Безопасность резервного копирования и базового резервного копирования.
- Обеспечение безопасности репликации.
- Роли и привилегии внутри базы данных.
Важно знать обо всех уровнях обеспечения безопасности, включая (1) безопасность на уровне сети (2) на уровне диска (3) на уровне строки, (4), на уровне столбца. В этом докладе мы поговорим обо всех вышеперечисленных аспектах обеспечения безопасности, а также обсудим конкретные кейсы и приведём несколько примеров из реальной практики.
-
Simon Riggs Enterprise DB Эксперт по PostgreSQL, ответственный за стратегическое развитие и технические коммуникации
PostgreSQL и стандарты SQL
PostgreSQL - одна из СУБД, в наибольшей степени соответствующая стандартам. В этом докладе будет рассмотрено влияние Постгреса на стандарт SQL и фичи из стандарта, которые были релизованы в Постгресе, в том числе фичи, планирующиеся в 14й и последующих версиях.
-
Арсений Шер 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; как они здесь помогают?
Я не буду пытаться объяснять какие-либо алгоритмы построчно; это едва ли осмысленно с учетом ограничений по времени, и на эту тему есть много полезной литературы. Цель здесь скорее в том чтобы познакомить с областью и задать в ней ориентиры.