Басня про тестирование и postgres
Однажды вот Питон и Слон
Вести тестирование взялись.
И вместе все в него впряглись!
В нашей компании (Postges Professional) разрабатываются разные проекты: multimaster, pg_probackup, pg_pathman, pg_shardman, RUM, и другие. Совладать со всей этой оравой весьма непросто, поэтому нам необходим инструмент, который способен облегчить и ускорить написание всевозможных тестов.
В данном докладе мы расскажем о фреймворке testgres, написанном на Python, который уже позволил решить множество проблем и протестировать функциональность, которую нельзя так просто покрыть прямолинейными регрессионными тестами.
Вы узнаете, как при помощи нескольких строчек кода запускать узлы PostgreSQL, настраивать всевозможную репликацию и создавать бекапы, меняя параметры на лету, и про многое другое. Также мы расскажем, как эти возможности позволяют нам проверять "самые труднодоступные места" и улучшать качество наших продуктов.
Мы стремимся сделать testgres фреймворком для проведения функциональных тестов пользовательских запросов, хранимых процедур и прочей серверной логики, привнося практику TDD на уровнь разработки БД.
Слайды
Видео
Другие доклады
-
Николай Рыжиков Health Samurai CTO
Использование PostgreSQL и Сlojure для разработки приложений, ориентированных на работу с базами данных
Если честно взглянуть на большинство наших бизнес-приложений, то они через провод собирают данные в базу и раздают их в обратном направлении. Что, если не пытаться воздвигать стену абстракций между приложением и базой данных (ORM), а постараться использовать их симбиоз - сильные стороны и индивидуальные особенности.
Я расскажу как мы используем postgresql и clojure для создания data intensive приложений для медицины.
- functional relational programming
- jsonb для моделирования сложной предметной области
- функциональные индексы и расширение json-knife для поиска в jsonb
- реализация graphql на postgres
- logical replication для построения реактивных интеграций
- асинхронный JDBC-free коннектор к postgresql на netty
-
Александр Погодин Корпорация ПАРУС, МГОТУ руководитель отделаААлександр Панкратов НПЦ Парус Генеральный директор
Технология миграции тиражных клиент-серверных приложений с СУБД Oracle в СУБД PostgreSQL: Принципы, подходы и особенности
В докладе рассматриваются подходы и варианты реализации миграции клиент-серверного приложения Парус-Бюджет 8 с платформы Oracle Database на платформу PostgreSQL без изменения клиентского приложения для Desctop и Web. Предлагаемое решение позволяет осуществить прозрачный переход существующих пользовательских рабочих мест.
-
Виктор Егоров Data Egret DBA
Сравнительный обзор архитектуры PostgreSQL и ORACLE
Доклад рассмотрит следующие компоненты СУБД PostgreSQL, сравнивая архитектурные решения с СУБД ORACLE:
- Что представляет из себя экземпляр работающей базы, какие процессы присутствуют и за что они отвечают?
- Какими структурами оперирует база?
- Механизм отказоустойчивости.
- MVCC механизм и возможности восстановления базы.
- Хранение базы на физических носителях.
Каждое из рассматриваемых решений будет оценено с точки зрения накопленного опыта работы в выбранных СУБД, удобства администрирования и доступных способов развития в будущем.
Доклад будет интересен:
- пользователям PostgreSQL, т.к. позволит взглянуть на другую СУБД и её особенности;
- администраторам PostgreSQL, т.к. ORACLE предлагает большие административные возможности, которые могли бы быть реализованы и в Postgres;
- разработчикам PostgreSQL, т.к. Postgres активно развивается и этот доклад может задать новые направления развития;
- желающим перейти с ORACLE (или другой СУБД) на проекты с открытым исходным кодом, т.к. доклад продемонстрирует возможности открытой СУБД Postgres в сравнении с коммерческим продуктом, в котором Postgres выглядит очень достойно!
-
Максим Милютин Wildberries Разработчик/DBAДмитрий Иванов Postgres Professional Developer
Встроенное партицирование в постгресе и сторонние решения
В 10-й версии постгреса появилось встроенное партицирование таблиц. Однако ставить точку на развитии этого функционала, начало работы над которым ведётся с августа 2015 года, пока рано. В новом 11-ом релизе ведутся несколько параллельных работ по преодолению ограничений встроенного партицирования (update ключа партицирования, вставка в foreign партиции, локальные и глобальные индексы) и внедрение оптимизаций (runtime partition pruning, parallel append нода и partition-wise aggregation/grouping), которые восполнят многолетний пробел в этой области.
Помимо этого получили развитие сторонние решения для партицирования таблиц - pg_pathman и timescaledb, каждый из которых предоставляет свои дополнительные возможности, отсутствующие в ваниле.
В своём доклады мы постараемся рассказать про возможности каждого из решений, обрисовать нишу, сделав упор на разрабатываемые фичи в ванильном постгресе.