Басня про тестирование и postgres
Однажды вот Питон и Слон
Вести тестирование взялись.
И вместе все в него впряглись!
В нашей компании (Postges Professional) разрабатываются разные проекты: multimaster, pg_probackup, pg_pathman, pg_shardman, RUM, и другие. Совладать со всей этой оравой весьма непросто, поэтому нам необходим инструмент, который способен облегчить и ускорить написание всевозможных тестов.
В данном докладе мы расскажем о фреймворке testgres, написанном на Python, который уже позволил решить множество проблем и протестировать функциональность, которую нельзя так просто покрыть прямолинейными регрессионными тестами.
Вы узнаете, как при помощи нескольких строчек кода запускать узлы PostgreSQL, настраивать всевозможную репликацию и создавать бекапы, меняя параметры на лету, и про многое другое. Также мы расскажем, как эти возможности позволяют нам проверять "самые труднодоступные места" и улучшать качество наших продуктов.
Мы стремимся сделать testgres фреймворком для проведения функциональных тестов пользовательских запросов, хранимых процедур и прочей серверной логики, привнося практику TDD на уровнь разработки БД.
Слайды
Видео
Другие доклады
-
Дмитрий Павлов Arenadata Big Data solutions Senior Consultant
Дрессируем Greenplum
С необходимостью завести в корпоративном IT-ландшафте аналитическую СУБД сталкивается большинство компаний, чей бизнес так или иначе затрагивает информационные технологии. В докладе я расскажу о самых главных нюансах развёртывания и эксплуатации распределённой аналитической open-source СУБД, основанной на PostgreSQL - Greenplum, разберу типичные ошибки при её использовании, приведу best practices и обращу внимание на тонкие места.
-
Брюс Момжиан EnterpriseDB Senior Database Architect
Изучаем CTE и оконные функции
От разработчиков часто требуются результаты, которые трудно получить обычными SQL-запросами. К счастью, стандартом SQL предусмотрены мощные средства - общие табличные выражения (CTE) и оконные функции, который весьма расширяют круг возможного.
SQL является декларативным языком, что означает, что пользователь только формирует запрос, с база данных определяет, как его следует оптимально исполнять. CTE позволяют запросам быть более императивными, дают возможность организовать циклы и обработку иерархических структур, что обычно делается только в императивных языках.
Обычные SQL-запросы возвращают наборы строк, в которых одна строка не зависит от других. Оконные функции позволяют добавлять в запрос поля, значения которых зависят от других строк.
Этот мастер-класс поможет прикладным разработчикам в использовании CTE, что позволит перенести часть логики из приложения в SQL-код, и разъяснит возможности оконных функций и особенности их использования.
Видео
Часть I «Programming the SQL Way with CTE»
Часть II «Postgres Window Magic»
-
Дмитрий Кремер МИА "Россия Сегодня" Администратор баз данных
Особенности мониторинга и траблшутинга высоконагруженной БД PostgreSQL
База данных - один из ключевых компонентов в любой информационной системе, требующий мониторинга множества метрик. В докладе освещены примеры и подходы мониторинга и анализа производительности PostgreSQL, которые позволяют минимизировать нагрузку на сервер баз данных со стороны системы мониторинга и сбора данных для последующего анализа проблемных ситуаций:
- Квантовые эффекты или как наблюдатель влияет на наблюдаемую систему
- Особенности сбора метрик при мониторинге БД с помощю Zabbix
- Сбор данных для аналитики и визуализации запросов PostgreSQL с помощью rsyslog + kafka + clickhouse + grafana.
- Инструменты оперативного анализа лог-файлов БД
-
Christopher Travers DeliveryHero SE Principle Engineer
PostgreSQL на 20TB и выше
В последние шесть месяцев я работал с массивным OLAP окружением, охватывающим порядка 400TB данных. Приходите и узнайте, как мы заставили это все работать, с какими трудностями сталкивались и какие навыки нам потребовались.
Этот доклад будет иметь мало общего с докладом про 10TB и выше, так как среды данных значительно отличаются. Мы рассмотрим эффективность аналитики, выравнивание данных, причины для разработки расширений на С, перемещение данных между серверами в нескольких центрах обработки данных.