title

text

Александр Федоров
Александр Федоров dbeaver.com Директор по развитию
Андрей Хитрин
Андрей Хитрин RedSys Системный архитектор
: декабря
22 мин

Самый важный инструмент: Xobot IDE

В мире программирования особняком стоит создание исходного кода для "процедурных расширений" баз данных. Большинство СУБД предлагает процедурные языки и "хранимые процедуры" для создания процедурных расширений. В Postgres количество поддерживаемых официально и не очень процедурных языков уже перевалило за десяток.

Традиционно на хранимые процедуры возлагают множество задач: трудно устоять перед соблазном исполнить операцию над данными непосредственно в хранилище, особенно в Enterprise разработке. Такой подход довольно быстро приводит к размазыванию бизнес-логики по телу хранимых процедур и резко повышает стоимость поддержки и развития системы в целом.

Особенности жизненного цикла хранимых процедур затрудняют применение стандартных инструментов и практик по контролю изменений. Необходимо адаптировать работу с хранимыми процедурами к стандартам Change Management, оставаясь в рамках привычных для разработчика действий.

Мы рассмотрим проблемы разработки процедурных расширений и обсудим решения, которые мы реализуем в IDE XOBOT.

Слайды

Видео

Другие доклады

  • Дмитрий Юхтимовский
    Дмитрий Юхтимовский Gilev.ru технический лидер
    22 мин

    Магические фокусы с последующим разоблачением (1С+PG)

    Магические фокусы с последующим разоблачением (1С+PG):

    • Фокус первый. Как убедить бухгалтерию купить новый сервер.
    • Фокус второй. Как показать, что MS SQL быстрее PostgreSQL.
    • Фокус третий. Как показать, что PostgreSQL быстрее MS SQL Server.

  • Петр Ярмуз
    Петр Ярмуз Allegro sp. z.o.o Senior Database Engineer
    45 мин

    Хакинг с Postgres 11 - pg_threads

    Мое выступление будет посвящено написанию расширений для Postgres. Я создал модуль pg_threads, который реализует упрощенную версию API POSIX потоков внутри базы данных Postgres. Он дает разработчикам баз данных новый мощный инструмент для параллельного написания кода и использования преимуществ многоядерной CPU. Существует дополнительное API для транзакционных и нетранзакционных IPC между потоками. Я покажу пример приложения, в котором реализовано преимущество нового API - линейное масштабирование равномерно на два узла. Презентация сопровождается живой демонстрацией на vagrant с двумя виртуальными машинами на Ubuntu и двуми базами данных Postgres.

  • Артемий Рябинков
    Артемий Рябинков Avito Software Engineer
    22 мин

    Практики, особенности и нюансы при работе с Postgres в Go

    В докладе расскажу о практиках работы с Postgres в сервисах на Go. Поговорим о преимуществах и недостатках основных инструментов, которые принято использовать при работе с Postgres в Go. Конечно, коснёмся нюансов, которые нужно учитывать, когда ваши сервисы работают внутри Kubernetes облака. Также расскажу об опыте Avito в предоставлении базы данных разработчикам продукта. Доклад будет интересен разработчикам, которые хотят избежать проблем при работе с Postgres и полезен DBA, которые хотят узнать с какими трудностями сталкиваются клиенты их базы данных.

  • Мирослав Шедиви
    Мирослав Шедиви solute GmbH Senior Software Developer
    90 мин

    Асинхронный Python и PostgreSQL с использованием asyncpg

    Возможно, Python не самый быстрый язык программирования на CPU, но быстрая и простая разработка на нем экономит массу усилий того, кто находится между креслом и клавиатурой. Поскольку программные клиенты базы данных большую часть времени находятся в ожидании отклика от сервера базы данных, аснихронная функциональность Python, ставшая доступной в последних версиях (3.5+), может оказаться полезной для значительной оптимизации скорости работы приложения за счет того, что время подготовки ответа сервером может быть использовано приложением для работы над другими задачами. Асинхронный интерфейс между Python и PostgreSQL называется "asyncpg". В ходе мастер-класса я разберу работу с данной библиотекой и напишу короткое приложение, использую некоторые полезные свойства библиотеки.