Митап сообщества RuPostgres в Avito: «Масштабирование приложений на PostgreSQL»

Мероприятия Даты проведения: Источник: Postgres Professional

Митап сообщества RuPostgres в Avito: «Масштабирование приложений на PostgreSQL»

15 сентября 2018 года в офисе компании Avito состоится встреча российских пользователей и разработчиков СУБД PostgreSQL. Темой встречи станет «Масштабирование приложений на PostgreSQL». Для раскрытия этой темы предлагаются 4 доклада, с которыми выступят эксперты и разработчики СУБД PostgreSQL самого высокого уровня: Стас Кельвич (разработчик в Postgres Professional), Константин Евтеев (Руководитель группы разработки в Avito), Михаил Тюрин (предприниматель в сфере обработки и анализа данных) и Сергей Хандриков (ведущий разработчик в Яндекс).

Программа встречи

Распределенные транзакции и путешествия во времени

Стас Кельвич

Разработчик в Postgres Professional

«Основой обсуждения будет статья «Clock-SI: Snapshot Isolation for Partitioned Data Stores Using Loosely Synchronized Clocks» за авторством Jiaqing Du, Sameh Elnikety и Willy Zwaenepoel. Мы попробуем разобраться с протоколом Clock-SI, также поговорим про существующие алгоритмы и нюансы реализации транзакционности в языках программирования (например, Software Transactional Memory в Clojure) и базах данных (от IBM System-R до Google Spanner); почему уровни изоляции описанные в ANSI SQL слабо отражают реальность и затронем тему транзакционных аномалий».

PG Saga: зависимые изменения данных в нескольких сервисах без двухфазных коммитов и синхронных зависимостей

Константин Евтеев

Руководитель группы разработки в Avito

«История про опыт Авито в решении одного из вызовов микросервисной архитектуры — реализации бизнес-транзакций с соблюдением консистентности данных между сервисами при использовании архитектурного паттерна Database per Service.

После разделения приложения на несколько сервисов (как следствие, у каждого сервиса своя база данных) уже невозможно сделать все атомарно в 1 ACID-транзакции. Это можно реализовать двумя способами:

  • two-phase commit 2PC;
  • sagas.

Мы выбрали паттерн саг. В докладе я расскажу, как мы его реализовали. PG в названии потому что в нашей реализации в сервисе саг мы используем PostgreSQL».

Логическая репликация и уровни изоляции транзакций PostgreSQL

Михаил Тюрин

Предприниматель в сфере обработки и анализа данных

«С десятой версии PostgreSQL кроме физической репликации, нам доступна еще и встроенная логическая. Помимо этого, уже много лет существуют и успешно применяются решения по триггерной логической репликации. С другой стороны, относительно недавно, с версии 9.1, мы имеем транзакции с «честным» уровнем Serializable. Эти два существенных обстоятельства (а также дебаты в интернете) побудили автора сделать обзор проблемы применения уровней изоляции при различных существующих методах репликации, в том числе разобрать наличие Serializable на реплике».

OZO — асинхронная типобезопасная header-only библиотека клиент PostgreSQL для C++17

Сергей Хандриков

Ведущий разработчик в Яндекс

«Библиотека построена на базе Boost.Asio, благодаря чему обеспечивает поддержку всех видов асинхронности от колбэков до корутин. Библиотека общается с PostgeSQL с использованием libpq и бинарного протокола, обеспечивая как асинхронный приём данных, так и асинхронную отправку запроса. OZO поддерживает как Compile-time конструкторы запросов, так и возможность их run-time конфигурации. Все параметры запросов автоматически сериализуются в бинарное представление. Результаты выполнения запросов также автоматически десериализуются как в простые типы, так и в адаптированные с помощью Boost.Fusion и Boost.Hana структуры».

Где и когда

  • 15 сентября 2018 года
  • Начало 12:00
  • Продолжительность: 6 часов
  • Адрес: офис компании Avito, город Москва, ул. Лесная, дом 7 (ст.м. Белорусская, 3 минуты пешком).
  • Прямая трансляция: на YouTube-канале AvitoTech

Как стать участником

Регистрируйтесь на встречу и приглашайте коллег. Участие в мероприятии бесплатное, регистрация обязательна для всех участников.

Зарегистрироваться